[Erp5-report] r38188 yo - /erp5/trunk/products/ERP5/Document/OrderBuilder.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Sep 8 08:54:34 CEST 2010


Author: yo
Date: Wed Sep  8 08:54:31 2010
New Revision: 38188

URL: http://svn.erp5.org?rev=38188&view=rev
Log:
No need to record updated deliveries by using a destructive manipulation on the list of deliveries to be updated.

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

Modified: erp5/trunk/products/ERP5/Document/OrderBuilder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/OrderBuilder.py?rev=38188&r1=38187&r2=38188&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] Wed Sep  8 08:54:31 2010
@@ -407,9 +407,6 @@ class OrderBuilder(XMLObject, Amount, Pr
     else:
       # Test if we can update a existing delivery, or if we need to create
       # a new one
-      delivery_to_update_list = [
-        x for x in delivery_to_update_list \
-        if not self._isUpdated(x, 'delivery')]
       delivery, property_dict = self._findUpdatableObject(
         delivery_to_update_list, movement_group_node_list,
         divergence_list)
@@ -423,8 +420,12 @@ class OrderBuilder(XMLObject, Amount, Pr
         delivery = self._createDelivery(delivery_module,
                                         movement_group_node.getMovementList(),
                                         activate_kw)
+      else:
+        # The same delivery should not be updated more than once.
+        # Note that it is important to use a destructive method here.
+        delivery_to_update_list.remove(delivery)
+
       # Put properties on delivery
-      self._setUpdated(delivery, 'delivery')
       if property_dict:
         property_dict.setdefault('edit_order', ('stop_date', 'start_date'))
         delivery.edit(**property_dict)




More information about the Erp5-report mailing list