[Erp5-report] r31350 kazuhiko - /erp5/trunk/products/ERP5/Document/SolverProcess.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Dec 16 17:59:36 CET 2009


Author: kazuhiko
Date: Wed Dec 16 17:59:34 2009
New Revision: 31350

URL: http://svn.erp5.org?rev=31350&view=rev
Log:
* get a list of movements if delivery is passed.
* fix a way to get divergence testers from a simulation movement.

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

Modified: erp5/trunk/products/ERP5/Document/SolverProcess.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/SolverProcess.py?rev=31350&r1=31349&r2=31350&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/SolverProcess.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/SolverProcess.py [utf8] Wed Dec 16 17:59:34 2009
@@ -158,15 +158,23 @@
       # Gather all delivery lines already found
       # in already built solvers
 
-    # We suppose here that delivery_or_movement is a list of
+    if not isinstance(delivery_or_movement, (tuple, list)):
+      delivery_or_movement = [delivery_or_movement]
+    movement_list = []
+    for x in delivery_or_movement:
+      if x.getPortalType() not in \
+             self.getPortalObject().getPortalMovementTypeList():
+        movement_list.extend(x.getMovementList())
+
+    # We suppose here that movement_list is a list of
     # delivery lines. Let group decisions in such way
     # that a single decision is created per divergence tester instance
     # and per application level list
     solver_decision_dict = {}
-    for movement in delivery_or_movement:
+    for movement in movement_list:
       for simulation_movement in movement.getDeliveryRelatedValueList():
         simulation_movemet_url = simulation_movement.getRelativeUrl()
-        for divergence_tester in simulation_movement.getParentValue().getDivergenceTesterValueList():
+        for divergence_tester in simulation_movement.getParentValue().getSpecialiseValue()._getDivergenceTesterList():
           application_list = map(lambda x:x.getRelativeUrl(), 
                  self.getSolverDecisionApplicationValueList(simulation_movement, divergence_tester))
           application_list.sort()




More information about the Erp5-report mailing list