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

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Sep 9 08:49:29 CEST 2010


Author: yo
Date: Thu Sep  9 08:49:28 2010
New Revision: 38208

URL: http://svn.erp5.org?rev=38208&view=rev
Log:
Fix the code to look up for the last branch, as the previous one did not take branch movement groups into account.

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=38208&r1=38207&r2=38208&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] Thu Sep  9 08:49:28 2010
@@ -258,7 +258,22 @@ class OrderBuilder(XMLObject, Amount, Pr
                    [DateMovementGroup,PathMovementGroup,...]
     """
     movement_group_list = self.getMovementGroupList()
-    last_line_movement_group = self.getDeliveryMovementGroupList()[-1]
+
+    # Need to find the last branch movement group for separate methods.
+    last_line_movement_group = None
+    previous_collect_order_group = None
+    for movement_group in movement_group_list:
+      collect_order_group = movement_group.getCollectOrderGroup()
+      if collect_order_group == 'line':
+        if previous_collect_order_group == 'delivery' \
+                or movement_group.isBranch():
+          last_line_movement_group = movement_group
+      elif collect_order_group == 'cell':
+        break
+      previous_collect_order_group = collect_order_group
+    if last_line_movement_group is None:
+      raise CollectError('No branch movement group found at %r' % (self,))
+
     separate_method_name_list = self.getDeliveryCellSeparateOrderList([])
     root_group_node = MovementGroupNode(
       separate_method_name_list=separate_method_name_list,




More information about the Erp5-report mailing list