[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