[Erp5-report] r28145 - /erp5/trunk/products/ERP5/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jul 22 17:05:46 CEST 2009


Author: luke
Date: Wed Jul 22 17:05:46 2009
New Revision: 28145

URL: http://svn.erp5.org?rev=28145&view=rev
Log:
 - move expand to base class

Modified:
    erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py
    erp5/trunk/products/ERP5/Document/BPMInvoicingRule.py
    erp5/trunk/products/ERP5/Document/BPMRule.py

Modified: erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py?rev=28145&r1=28144&r2=28145&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py [utf8] Wed Jul 22 17:05:46 2009
@@ -65,25 +65,3 @@
       'delivery_ratio': 1,
       'deliverable': 1,
     }
-
-  security.declareProtected(Permissions.ModifyPortalContent, 'expand')
-  def expand(self, applied_rule, force=0, **kw):
-    add_list, modify_dict, \
-      delete_list = self._getCompensatedMovementList(applied_rule, **kw)
-
-    # delete not needed movements
-    for movement_id in delete_list:
-      applied_rule._delObject(movement_id)
-
-    # update existing
-    for movement, property_dict in modify_dict.items():
-      applied_rule[movement].edit(**property_dict)
-
-    # add new ones
-    for movement_dict in add_list:
-      movement_id = applied_rule._get_id(movement_dict.pop('id', None))
-      new_movement = applied_rule.newContent(id=movement_id,
-          portal_type=self.movement_type, **movement_dict)
-
-    # Pass to base class
-    BPMRule.expand(self, applied_rule, force=force, **kw)  # Simulation workflow

Modified: erp5/trunk/products/ERP5/Document/BPMInvoicingRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BPMInvoicingRule.py?rev=28145&r1=28144&r2=28145&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BPMInvoicingRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BPMInvoicingRule.py [utf8] Wed Jul 22 17:05:46 2009
@@ -67,43 +67,9 @@
       'deliverable': 1
     }
 
-  security.declareProtected(Permissions.ModifyPortalContent, 'expand')
-  def expand(self, applied_rule, force=0, **kw):
-    """
-    Expands the rule:
-    - generate a list of previsions
-    - compare the prevision with existing children
-      - get the list of existing movements (immutable, mutable, deletable)
-      - compute the difference between prevision and existing (add,
-        modify, remove)
-    - add/modify/remove child movements to match prevision
-    """
-    parent_movement = applied_rule.getParentValue()
-    if parent_movement is not None:
-      add_list, modify_dict, \
-        delete_list = self._getCompensatedMovementList(applied_rule, **kw)
-      for movement_id in delete_list:
-        applied_rule._delObject(movement_id)
-
-      for movement, prop_dict in modify_dict.items():
-        applied_rule[movement].edit(**prop_dict)
-
-      for movement_dict in add_list:
-        if 'id' in movement_dict.keys():
-          mvmt_id = applied_rule._get_id(movement_dict.pop('id'))
-          new_mvmt = applied_rule.newContent(id=mvmt_id,
-              portal_type=self.movement_type)
-        else:
-          new_mvmt = applied_rule.newContent(portal_type=self.movement_type)
-        new_mvmt.edit(**movement_dict)
-
-    # Pass to base class
-    BPMRule.expand(self, applied_rule, force=force, **kw)
-
   def _getInputMovementList(self, applied_rule):
     """Returns list of input movements for applied rule"""
     return [applied_rule.getParentValue()]
 
   def isDeliverable(self, movement):
     return movement.getResource() is not None
-

Modified: erp5/trunk/products/ERP5/Document/BPMRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BPMRule.py?rev=28145&r1=28144&r2=28145&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BPMRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BPMRule.py [utf8] Wed Jul 22 17:05:46 2009
@@ -274,3 +274,25 @@
       prevision_dict_list.append(self._getExpandablePropertyDict(applied_rule,
           input_movement, business_path))
     return prevision_dict_list
+
+  security.declareProtected(Permissions.ModifyPortalContent, 'expand')
+  def expand(self, applied_rule, force=0, **kw):
+    add_list, modify_dict, \
+      delete_list = self._getCompensatedMovementList(applied_rule, **kw)
+
+    # delete not needed movements
+    for movement_id in delete_list:
+      applied_rule._delObject(movement_id)
+
+    # update existing
+    for movement, property_dict in modify_dict.items():
+      applied_rule[movement].edit(**property_dict)
+
+    # add new ones
+    for movement_dict in add_list:
+      movement_id = applied_rule._get_id(movement_dict.pop('id', None))
+      new_movement = applied_rule.newContent(id=movement_id,
+          portal_type=self.movement_type, **movement_dict)
+
+    # Pass to base class
+    Rule.expand(self, applied_rule, force=force, **kw)  # Simulation workflow




More information about the Erp5-report mailing list