[Erp5-report] r27272 - /erp5/trunk/products/ERP5/Document/ProductionOrderRule.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri May 29 18:39:15 CEST 2009


Author: yusuke
Date: Fri May 29 18:39:14 2009
New Revision: 27272

URL: http://svn.erp5.org?rev=27272&view=rev
Log:
- modified ProductionOrderRule to use Business Process
  instead of Supply Chain.

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

Modified: erp5/trunk/products/ERP5/Document/ProductionOrderRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/ProductionOrderRule.py?rev=27272&r1=27271&r2=27272&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/ProductionOrderRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/ProductionOrderRule.py [utf8] Fri May 29 18:39:14 2009
@@ -30,8 +30,7 @@
 from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
 from Products.ERP5.Document.Rule import Rule
 from Products.ERP5.Document.OrderRule import OrderRule
-from Products.ERP5.Document.TransformationSourcingRule import\
-                                            TransformationSourcingRuleMixin
+from Products.ERP5.Document.TransformationRule import TransformationRuleMixin
 
 from zLOG import LOG, WARNING
 
@@ -93,25 +92,20 @@
           'quantity_unit', 
         )
     
-      supply_chain = self.getSupplyChain(applied_rule)
-      # We got a supply chain
-      # Try to get the last SupplyLink
-      last_link = supply_chain.getLastLink()
-      # We got a valid industrial_phase
-      # Now, we have to generate Simulation Movement, in order to
-      # create a ProductionPackingList.
-      destination_node = last_link.getDestinationValue()
-      source_value = destination_node.getDestination()
-      source_section_value = last_link.getDestinationSection()
-      if source_value is not None:
-        property_dict["source"] = source_value
-      if source_section_value is not None:
-        property_dict["source_section"] = source_section_value
-    
+      root_explanation = self.getRootExplanation(
+          self.getBusinessProcess(applied_rule=applied_rule))
+      property_dict['source_section'] = root_explanation.getSourceSection()
+      source_method_id = root_explanation.getSourceMethodId()
+      if source_method_id is None:
+        property_dict['source'] = root_explanation.getSource()
+      else:
+        property_dict['source'] = getattr(root_explanation, source_method_id)()
+      property_dict['causality'] = root_explanation.getRelativeUrl()
+
       for prop in default_property_list:
         property_dict[prop] = movement.getProperty(prop)
     
       return property_dict
 
 from Products.ERP5Type.Utils import monkeyPatch
-monkeyPatch(TransformationSourcingRuleMixin, ProductionOrderRule)
+monkeyPatch(TransformationRuleMixin, ProductionOrderRule)




More information about the Erp5-report mailing list