[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