[Erp5-report] r25178 - in /erp5/trunk/bt5/erp5_trade: SkinTemplateItem/portal_skins/erp5_tr...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jan 19 17:37:01 CET 2009


Author: jerome
Date: Mon Jan 19 17:36:52 2009
New Revision: 25178

URL: http://svn.erp5.org?rev=25178&view=rev
Log:
Fix a problem with apply trade condition, with the previous changes it was not able to find a trade condition if no categories were defined on the order.
Also change the weighting method so that mirror node and mirror section only add weight if they correspond to what's defined on the order.

Modified:
    erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_applyPurchaseTradeCondition.xml
    erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.xml
    erp5/trunk/bt5/erp5_trade/bt/revision

Modified: erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_applyPurchaseTradeCondition.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_applyPurchaseTradeCondition.xml?rev=25178&r1=25177&r2=25178&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_applyPurchaseTradeCondition.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/PurchaseOrder_applyPurchaseTradeCondition.xml [utf8] Mon Jan 19 17:36:52 2009
@@ -71,7 +71,7 @@
   if context.getProperty(base_category):\n
     tested_base_category_list.append(base_category)\n
 \n
-count = len(tested_base_category_list)\n
+count = len(tested_base_category_list) + 1\n
 \n
 # if no date is defined, use today\'s date to retrieve predicate that define start_date_range_min/max\n
 if order.getStartDate() is None:\n
@@ -81,10 +81,18 @@
 \n
 def rank_method(trade_condition):\n
   rank = 0\n
-  if trade_condition.getSourceSection():\n
-    rank += 10\n
-  if trade_condition.getSource():\n
-    rank += 10\n
+  source_section = trade_condition.getSourceSection()\n
+  if source_section:\n
+    if source_section == context.getSourceSection():\n
+      rank += 10\n
+    else:\n
+      rank -= 2\n
+  source = trade_condition.getSource()\n
+  if source:\n
+    if source == context.getSource():\n
+      rank += 10\n
+    else:\n
+      rank -= 2\n
   if trade_condition.getDestinationSection():\n
     rank += 1\n
   if trade_condition.getDestination():\n
@@ -96,11 +104,11 @@
   return -cmp(rank_method(a), rank_method(b))\n
 \n
 while count > 0 and len(trade_condition_list) == 0:\n
+  count -= 1\n
   trade_condition_list = context.portal_domains.searchPredicateList(\n
       predicate_context, portal_type=trade_condition_portal_type,\n
       tested_base_category_list=tested_base_category_list[:count],\n
       sort_method=sort_method)\n
-  count -= 1\n
 \n
 if len(trade_condition_list ) == 0 :\n
   message = Base_translateString(\'No trade condition.\')\n
@@ -172,8 +180,8 @@
                             <string>predicate_context</string>
                             <string>rank_method</string>
                             <string>sort_method</string>
+                            <string>_inplacevar_</string>
                             <string>_getitem_</string>
-                            <string>_inplacevar_</string>
                             <string>message</string>
                             <string>trade_condition</string>
                             <string>dict</string>

Modified: erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.xml?rev=25178&r1=25177&r2=25178&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/SkinTemplateItem/portal_skins/erp5_trade/SaleOrder_applySaleTradeCondition.xml [utf8] Mon Jan 19 17:36:52 2009
@@ -71,7 +71,7 @@
   if context.getProperty(base_category):\n
     tested_base_category_list.append(base_category)\n
 \n
-count = len(tested_base_category_list)\n
+count = len(tested_base_category_list) + 1\n
 \n
 # if no date is defined, use today\'s date to retrieve predicate that define start_date_range_min/max\n
 if order.getStartDate() is None:\n
@@ -81,10 +81,18 @@
 \n
 def rank_method(trade_condition):\n
   rank = 0\n
-  if trade_condition.getDestinationSection():\n
-    rank += 10\n
-  if trade_condition.getDestination():\n
-    rank += 10\n
+  destination_section = trade_condition.getDestinationSection()\n
+  if destination_section:\n
+    if destination_section == context.getDestinationSection():\n
+      rank += 10\n
+    else:\n
+      rank -= 2\n
+  destination = trade_condition.getDestination()\n
+  if destination:\n
+    if destination == context.getDestination():\n
+      rank += 10\n
+    else:\n
+      rank -= 2\n
   if trade_condition.getSourceSection():\n
     rank += 1\n
   if trade_condition.getSource():\n
@@ -96,11 +104,11 @@
   return -cmp(rank_method(a), rank_method(b))\n
 \n
 while count > 0 and len(trade_condition_list) == 0:\n
+  count -= 1\n
   trade_condition_list = context.portal_domains.searchPredicateList(\n
       predicate_context, portal_type=trade_condition_portal_type,\n
       tested_base_category_list=tested_base_category_list[:count],\n
       sort_method=sort_method)\n
-  count -= 1\n
 \n
 if len(trade_condition_list ) == 0:\n
   message = Base_translateString(\'No trade condition.\')\n
@@ -175,8 +183,8 @@
                             <string>predicate_context</string>
                             <string>rank_method</string>
                             <string>sort_method</string>
+                            <string>_inplacevar_</string>
                             <string>_getitem_</string>
-                            <string>_inplacevar_</string>
                             <string>message</string>
                             <string>trade_condition</string>
                             <string>hasattr</string>

Modified: erp5/trunk/bt5/erp5_trade/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/bt/revision?rev=25178&r1=25177&r2=25178&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/bt/revision [utf8] Mon Jan 19 17:36:52 2009
@@ -1,1 +1,1 @@
-567
+568




More information about the Erp5-report mailing list