[Erp5-report] r31065 kazuhiko - /erp5/trunk/products/ERP5/mixin/rule.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Dec 4 10:36:15 CET 2009


Author: kazuhiko
Date: Fri Dec  4 10:36:14 2009
New Revision: 31065

URL: http://svn.erp5.org?rev=31065&view=rev
Log:
improve _extendMovementCollectionDiff implementation.
* if decition_movement_list is empty, we just add prevision_movement as 'NewMovement'.

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

Modified: erp5/trunk/products/ERP5/mixin/rule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/mixin/rule.py?rev=31065&r1=31064&r2=31065&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/mixin/rule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/mixin/rule.py [utf8] Fri Dec  4 10:36:14 2009
@@ -284,7 +284,6 @@
     are part of the matching group and updates movement_collection_diff
     accordingly
     """
-    raise NotImplementedError
     # Sample implementation - but it actually looks very generic
     # Case 1: movements which are not needed
     if prevision_movement is None:
@@ -299,7 +298,12 @@
           new_movement = decision_movement.asContext(quantity=-decision_movement.getQuantity())
           movement_collection_diff.addNewMovement(new_movement)
       return
-    # Case 2: movements which are needed but may need update or compensation_movement_list
+    # Case 2: movements which should be added
+    elif len(decision_movement_list) == 0:
+      # if decision_movement_list is empty, we can just create a new one.
+      movement_collection_diff.addNewMovement(prevision_movement)
+      return
+    # Case 3: movements which are needed but may need update or compensation_movement_list
     #  let us imagine the case of a forward rule
     #  ie. what comes in must either go out or has been lost
     divergence_tester_list = self._getDivergenceTesterList()




More information about the Erp5-report mailing list