From 665582c13c0b4c73be22fde61fa6f8ce399ee12a Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Tue, 9 Nov 2021 13:26:20 +0000
Subject: [PATCH] erp5_trade: search trade condition matching
 source/destination project

---
 .../erp5_trade/SaleOrder_applySaleTradeCondition.py  | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.py b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.py
index 1bfbdd918b..5586d19932 100644
--- a/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.py
+++ b/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.py
@@ -9,8 +9,8 @@ trade_condition_list = order.getSpecialiseValueList(
     portal_type=trade_condition_portal_type)
 
 tested_base_category_list = [ ]
-for base_category in ('source_section', 'source',
-                      'destination_section', 'destination', ):
+for base_category in ('source_section', 'source', 'source_project',
+                      'destination_section', 'destination', 'destination_project'):
   if context.getProperty(base_category):
     tested_base_category_list.append(base_category)
 
@@ -24,6 +24,12 @@ else:
 
 def rank_method(trade_condition):
   rank = 0
+  destination_project = trade_condition.getDestinationProject()
+  if destination_project:
+    if destination_project == context.getDestinationProject():
+      rank += 10
+    else:
+      rank -= 2
   destination_section = trade_condition.getDestinationSection()
   if destination_section:
     if destination_section == context.getDestinationSection():
@@ -36,6 +42,8 @@ def rank_method(trade_condition):
       rank += 10
     else:
       rank -= 2
+  if trade_condition.getSourceProject():
+    rank += 1
   if trade_condition.getSourceSection():
     rank += 1
   if trade_condition.getSource():
-- 
2.30.9