From 6319df45ad7b22966585c685913a71cf9e10dde3 Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Mon, 28 Dec 2009 12:47:35 +0000 Subject: [PATCH] if 'movement' that is passed to solver is a delivery (eg. in case of start_date divergence), we need to find related simulation movements by its movements. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31484 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/Document/AcceptSolver.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/product/ERP5/Document/AcceptSolver.py b/product/ERP5/Document/AcceptSolver.py index cee52896f8..9a0501c3cc 100644 --- a/product/ERP5/Document/AcceptSolver.py +++ b/product/ERP5/Document/AcceptSolver.py @@ -67,7 +67,14 @@ class AcceptSolver(SolverMixin, ConfigurableMixin, XMLObject): solved_property = self._getPortalTypeValue().getTestedProperty() for movement in self.getDeliveryValueList(): new_value = movement.getProperty(solved_property) - for simulation_movement in movement.getDeliveryRelatedValueList(): + simulation_movement_list = movement.getDeliveryRelatedValueList() + # if movement here is a delivery, we need to find simulation + # movements by its movements. + if len(simulation_movement_list) == 0: + simulation_movement_list = sum( + [x.getDeliveryRelatedValueList() \ + for x in self.getDeliveryValue().getMovementList()], []) + for simulation_movement in simulation_movement_list: if not simulation_movement.isPropertyRecorded(solved_property): simulation_movement.recordProperty(solved_property) # XXX hard coded -- 2.30.9