[Erp5-report] r31483 kazuhiko - /erp5/trunk/products/ERP5/mixin/movement_collection_updater.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Dec 28 11:16:09 CET 2009


Author: kazuhiko
Date: Mon Dec 28 11:16:03 2009
New Revision: 31483

URL: http://svn.erp5.org?rev=31483&view=rev
Log:
* use converted_quantity instead of quantity to support quantity unit when aggregating quantity.
* rename variables to make more sense.

Modified:
    erp5/trunk/products/ERP5/mixin/movement_collection_updater.py

Modified: erp5/trunk/products/ERP5/mixin/movement_collection_updater.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/mixin/movement_collection_updater.py?rev=31483&r1=31482&r2=31483&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/mixin/movement_collection_updater.py [utf8] (original)
+++ erp5/trunk/products/ERP5/mixin/movement_collection_updater.py [utf8] Mon Dec 28 11:16:03 2009
@@ -96,21 +96,22 @@
           tester_key.append(None)
       tester_key = tuple(tester_key)
       # try to aggregate
-      group_list = prevision_movement_dict.setdefault(tester_key, [])
+      aggregated_movement_list = prevision_movement_dict.setdefault(tester_key,
+                                                                    [])
       no_match = True
-      for group_movement in group_list:
-        if _compare(tester_list, group_movement, movement):
+      for aggregated_movement in aggregated_movement_list:
+        if _compare(tester_list, aggregated_movement, movement):
           no_match = False
           order = movement.getOrder()
           if order is not None:
-            group_movement.setOrderList(
-              group_movement.getOrderList() + [order])
-          # XXX how to handle quantity unit conversion here?
-          group_movement.setQuantity(
-            group_movement.getQuantity() + movement.getQuantity())
+            aggregated_movement.setOrderList(
+              aggregated_movement.getOrderList() + [order])
+          aggregated_movement.setConvertedQuantity(
+            aggregated_movement.getConvertedQuantity() + \
+            movement.getConvertedQuantity())
       if no_match:
-        group_list.append(movement)
-      prevision_movement_dict[tester_key] = group_list
+        aggregated_movement_list.append(movement)
+      prevision_movement_dict[tester_key] = aggregated_movement_list
 
     # Prepare a mapping between prevision and decision
     # The prevision_to_decision_map is a list of tuples




More information about the Erp5-report mailing list