[Erp5-report] r35180 kazuhiko - /erp5/trunk/products/ERP5/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue May 11 22:51:48 CEST 2010


Author: kazuhiko
Date: Tue May 11 22:51:47 2010
New Revision: 35180

URL: http://svn.erp5.org?rev=35180&view=rev
Log:
we need to calculate first causality in test() too, but the expected behaviour of this movement group in delivery level is unclear.

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

Modified: erp5/trunk/products/ERP5/Document/FirstCausalityMovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/FirstCausalityMovementGroup.py?rev=35180&r1=35179&r2=35180&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/FirstCausalityMovementGroup.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/FirstCausalityMovementGroup.py [utf8] Tue May 11 22:51:47 2010
@@ -40,18 +40,31 @@
   def test(self, movement, property_dict, **kw):
     """Compare explanation to now if it is possible to update delivery"""
     explanation = property_dict.get('_explanation','')
-    if movement.getRelativeUrl() == explanation:
-      return True, {}
+    if movement == movement.getDeliveryValue():
+      # XXX what is the expected behaviour of this movement group in
+      # delivery level?
+      if movement.getRelativeUrl() == explanation:
+        return True, {}
+      else:
+        return False, {}
     else:
-      return False, {}
+      simulation_movement = movement.getDeliveryRelatedValue()
+      if simulation_movement is not None and \
+         self._getExplanationRelativeUrl(simulation_movement) == explanation:
+        return True, {}
+      else:
+        return False, {}
 
   def _getExplanationRelativeUrl(self, movement):
     """ Get the order value for a movement """
-    parent = movement.getParentValue().getParentValue()
+    applied_rule = movement.getParentValue()
+    parent = applied_rule.getParentValue()
     # Go upper into the simulation tree in order to find a delivery link
-    while parent.getDeliveryValue() is None and not(parent.isRootAppliedRule()):
+    parent_delivery = parent.getDeliveryValue()
+    while parent_delivery is None and not parent.isRootAppliedRule():
       parent = parent.getParentValue()
-    delivery_movement = parent.getDeliveryValue()
+      parent_delivery = parent.getDeliveryValue()
+    delivery_movement = parent_delivery
     delivery_url = None
     if delivery_movement is not None:
       delivery = delivery_movement.getExplanationValue()




More information about the Erp5-report mailing list