[Erp5-report] r25394 - /erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jan 30 17:39:54 CET 2009


Author: jerome
Date: Fri Jan 30 17:39:52 2009
New Revision: 25394

URL: http://svn.erp5.org?rev=25394&view=rev
Log:
don't use getattr, to prevent potential acquisition of id

Modified:
    erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py

Modified: erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py?rev=25394&r1=25393&r2=25394&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py [utf8] (original)
+++ erp5/trunk/products/ERP5/TargetSolver/SplitAndDefer.py [utf8] Fri Jan 30 17:39:52 2009
@@ -53,11 +53,12 @@
     if movement_quantity > new_movement_quantity:
       split_index = 0
       new_id = "%s_split_%s" % (simulation_movement.getId(), split_index)
-      while getattr(simulation_movement.getParentValue(), new_id, None) is not None:
+      applied_rule = simulation_movement.getParentValue()
+      while new_id in applied_rule.objectIds():
         split_index += 1
         new_id = "%s_split_%s" % (simulation_movement.getId(), split_index)
       # Adopt different dates for deferred movements
-      new_movement = simulation_movement.getParentValue().newContent(
+      new_movement = applied_rule.newContent(
                         portal_type="Simulation Movement",
                         id=new_id,
                         efficiency=simulation_movement.getEfficiency(),




More information about the Erp5-report mailing list