[Erp5-report] r15227 - /erp5/trunk/products/ERP5/Document/OrderRule.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jul 16 18:25:08 CEST 2007


Author: alex
Date: Mon Jul 16 18:25:07 2007
New Revision: 15227

URL: http://svn.erp5.org?rev=15227&view=rev
Log:
In most cases, OrderRule will no longer depend on correctly catalogued
simulation, now.

Modified:
    erp5/trunk/products/ERP5/Document/OrderRule.py

Modified: erp5/trunk/products/ERP5/Document/OrderRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/OrderRule.py?rev=15227&r1=15226&r2=15227&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/OrderRule.py (original)
+++ erp5/trunk/products/ERP5/Document/OrderRule.py Mon Jul 16 18:25:07 2007
@@ -97,9 +97,18 @@
           existing_movement_list.append(movement)
           immutable_movement_list.append(movement)
        
+      # this dict simulates getOrderRelatedValue, but it will not work if an
+      # order was generated from multiple applied rules
+      order_movement_dict = {}
+      for s_m in applied_rule.objectValues():
+        order_movement = s_m.getOrderValue()
+        if order_movement is not None:
+          order_movement_dict[order_movement.getPath()] = s_m
       # Create or modify movements
       for movement in order_movement_list:
-        related_order = movement.getOrderRelatedValue()
+        related_order = order_movement_dict.get(movement.getPath(), None)
+        if related_order is None:
+          related_order = movement.getOrderRelatedValue()
         property_dict = self._getExpandablePropertyDict(applied_rule, movement)      
         if related_order is None:
           if movement.getParentUid() == movement.getExplanationUid():




More information about the Erp5-report mailing list