[Erp5-report] r33997 kazuhiko - /erp5/trunk/products/ERP5/Document/TradeModelSolver.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 23 12:06:04 CET 2010


Author: kazuhiko
Date: Tue Mar 23 12:06:03 2010
New Revision: 33997

URL: http://svn.erp5.org?rev=33997&view=rev
Log:
* no need to propagate changes to upper level.
* adopt only for trade model related movements.

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

Modified: erp5/trunk/products/ERP5/Document/TradeModelSolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/TradeModelSolver.py?rev=33997&r1=33996&r2=33997&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/TradeModelSolver.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/TradeModelSolver.py [utf8] Tue Mar 23 12:06:03 2010
@@ -57,9 +57,8 @@
   # ISolver Implementation
   def solve(self):
     """
-    Adopt new quantity to simulation movements, with keeping the
-    original one recorded, and then update Trade Model related lines
-    accordingly.
+    Adopt new values to simulation movements, with keeping the original
+    one recorded, and then update Trade Model related lines accordingly.
     """
     configuration_dict = self.getConfigurationPropertyDict()
     portal_type = self.getPortalObject().portal_types[self.getPortalType()]
@@ -98,11 +97,14 @@
             value_dict.update({'quantity':new_quantity})
           else:
             value_dict.update({solved_property:new_value})
-        self._solveRecursively(simulation_movement, value_dict)
+        for property_id, value in value_dict.iteritems():
+          if not simulation_movement.isPropertyRecorded(property_id):
+            simulation_movement.recordProperty(property_id)
+          simulation_movement.setMappedProperty(property_id, value)
         simulation_movement.expand()
 
     # Third, adopt changes on trade model related lines.
-    for movement in self.getDeliveryValueList():
+    for movement in trade_model_related_movement_list:
       for solved_property in solved_property_list:
         if solved_property == 'quantity':
           total_quantity = sum(




More information about the Erp5-report mailing list