[Erp5-report] r32267 kazuhiko - /erp5/trunk/products/ERP5/Document/AcceptSolver.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Feb 4 16:04:19 CET 2010


Author: kazuhiko
Date: Thu Feb  4 16:04:18 2010
New Revision: 32267

URL: http://svn.erp5.org?rev=32267&view=rev
Log:
get properties to be solved from divergence tester (target solver's causality's causality).

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

Modified: erp5/trunk/products/ERP5/Document/AcceptSolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/AcceptSolver.py?rev=32267&r1=32266&r2=32267&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/AcceptSolver.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/AcceptSolver.py [utf8] Thu Feb  4 16:04:18 2010
@@ -64,9 +64,9 @@
     Adopt new property to simulation movements, with keeping the
     original one recorded.
     """
-    solved_property = self._getPortalTypeValue().getTestedProperty()
+    solved_property_list = self.getCausalityValue().getCausalityValue(). \
+                           getTestedPropertyList()
     for movement in self.getDeliveryValueList():
-      new_value = movement.getProperty(solved_property)
       simulation_movement_list = movement.getDeliveryRelatedValueList()
       # if movement here is a delivery, we need to find simulation
       # movements by its movements.
@@ -75,12 +75,15 @@
           [x.getDeliveryRelatedValueList() \
            for x in self.getDeliveryValue().getMovementList()], [])
       for simulation_movement in simulation_movement_list:
-        # XXX hard coded
-        if solved_property == 'quantity':
-          new_quantity = new_value * simulation_movement.getDeliveryRatio()
-          value_dict = {'quantity':new_quantity}
-        else:
-          value_dict = {solved_property:new_value}
+        value_dict = {}
+        for solved_property in solved_property_list:
+          new_value = movement.getProperty(solved_property)
+          # XXX hard coded
+          if solved_property == 'quantity':
+            new_quantity = new_value * simulation_movement.getDeliveryRatio()
+            value_dict.update({'quantity':new_quantity})
+          else:
+            value_dict.update({solved_property:new_value})
         self._solveRecursively(simulation_movement, value_dict)
         simulation_movement.expand()
     # Finish solving




More information about the Erp5-report mailing list