[Erp5-report] r31872 kazuhiko - /erp5/trunk/products/ERP5/Document/AdoptSolver.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jan 21 12:12:15 CET 2010


Author: kazuhiko
Date: Thu Jan 21 12:12:14 2010
New Revision: 31872

URL: http://svn.erp5.org?rev=31872&view=rev
Log:
when we adopt prevision, we need to clear recorded property on all child simulation movements.

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

Modified: erp5/trunk/products/ERP5/Document/AdoptSolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/AdoptSolver.py?rev=31872&r1=31871&r2=31872&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/AdoptSolver.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/AdoptSolver.py [utf8] Thu Jan 21 12:12:14 2010
@@ -78,11 +78,23 @@
           delivery_error = total_quantity * delivery_ratio - quantity
           simulation_movement.edit(delivery_ratio=delivery_ratio,
                                    delivery_error=delivery_error)
+          self._clearRecordedPropertyRecursively(simulation_movement,
+                                                 solved_property)
       else:
         # XXX TODO we need to support multiple values for categories or
         # list type property.
         simulation_movement = movement.getDeliveryRelatedValue()
         movement.setProperty(solved_property,
                              simulation_movement.getProperty(solved_property))
+        for simulation_movement in movement.getDeliveryRelatedValueList():
+          self._clearRecordedPropertyRecursively(simulation_movement,
+                                                 solved_property)
     # Finish solving
     self.succeed()
+
+  def _clearRecordedPropertyRecursively(self, simulation_movement, property_id):
+    for applied_rule in simulation_movement.objectValues():
+      for child_simulation_movement in applied_rule.objectValues():
+        child_simulation_movement.clearRecordedProperty(property_id)
+        self._clearRecordedPropertyRecursively(child_simulation_movement,
+                                               property_id)




More information about the Erp5-report mailing list