From 0a1bf64062c9711ba6a4280a00c21ffba4595e77 Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Wed, 10 Feb 2010 09:34:23 +0000 Subject: [PATCH] record only solved property. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@32399 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/AcceptSolver.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/product/ERP5/Document/AcceptSolver.py b/product/ERP5/Document/AcceptSolver.py index a3c925f2b4..45d43955be 100644 --- a/product/ERP5/Document/AcceptSolver.py +++ b/product/ERP5/Document/AcceptSolver.py @@ -84,19 +84,20 @@ class AcceptSolver(SolverMixin, ConfigurableMixin, XMLObject): value_dict.update({'quantity':new_quantity}) else: value_dict.update({solved_property:new_value}) - self._solveRecursively(simulation_movement, value_dict) + self._solveRecursively(simulation_movement, value_dict, + solved_property) simulation_movement.expand() # Finish solving self.succeed() - def _solveRecursively(self, simulation_movement, value_dict=None): + def _solveRecursively(self, simulation_movement, value_dict=None, + property_id=None): """ Update value of the current simulation movement, and update his parent movement. """ - for property_id in value_dict.iterkeys(): - if not simulation_movement.isPropertyRecorded(property_id): - simulation_movement.recordProperty(property_id) + if not simulation_movement.isPropertyRecorded(property_id): + simulation_movement.recordProperty(property_id) simulation_movement.edit(**value_dict) applied_rule = simulation_movement.getParentValue() @@ -104,4 +105,5 @@ class AcceptSolver(SolverMixin, ConfigurableMixin, XMLObject): if parent_movement.getPortalType() == 'Simulation Movement' and \ not parent_movement.isFrozen(): # backtrack to the parent movement while it is not frozen - self._solveRecursively(parent_movement, value_dict=value_dict) + self._solveRecursively(parent_movement, value_dict=value_dict, + property_id=property_id) -- 2.30.9