Commit 0a1bf640 authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

record only solved property.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@32399 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent f5cb884b
...@@ -84,19 +84,20 @@ class AcceptSolver(SolverMixin, ConfigurableMixin, XMLObject): ...@@ -84,19 +84,20 @@ class AcceptSolver(SolverMixin, ConfigurableMixin, XMLObject):
value_dict.update({'quantity':new_quantity}) value_dict.update({'quantity':new_quantity})
else: else:
value_dict.update({solved_property:new_value}) value_dict.update({solved_property:new_value})
self._solveRecursively(simulation_movement, value_dict) self._solveRecursively(simulation_movement, value_dict,
solved_property)
simulation_movement.expand() simulation_movement.expand()
# Finish solving # Finish solving
self.succeed() 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 Update value of the current simulation movement, and update
his parent movement. his parent movement.
""" """
for property_id in value_dict.iterkeys(): if not simulation_movement.isPropertyRecorded(property_id):
if not simulation_movement.isPropertyRecorded(property_id): simulation_movement.recordProperty(property_id)
simulation_movement.recordProperty(property_id)
simulation_movement.edit(**value_dict) simulation_movement.edit(**value_dict)
applied_rule = simulation_movement.getParentValue() applied_rule = simulation_movement.getParentValue()
...@@ -104,4 +105,5 @@ class AcceptSolver(SolverMixin, ConfigurableMixin, XMLObject): ...@@ -104,4 +105,5 @@ class AcceptSolver(SolverMixin, ConfigurableMixin, XMLObject):
if parent_movement.getPortalType() == 'Simulation Movement' and \ if parent_movement.getPortalType() == 'Simulation Movement' and \
not parent_movement.isFrozen(): not parent_movement.isFrozen():
# backtrack to the parent movement while it is not frozen # 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)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment