[Erp5-report] r32451 kazuhiko - /erp5/trunk/products/ERP5/Document/Rule.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Feb 12 01:26:16 CET 2010
Author: kazuhiko
Date: Fri Feb 12 01:26:15 2010
New Revision: 32451
URL: http://svn.erp5.org?rev=32451&view=rev
Log:
make the common part working for non-BPM case.
Modified:
erp5/trunk/products/ERP5/Document/Rule.py
Modified: erp5/trunk/products/ERP5/Document/Rule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Rule.py?rev=32451&r1=32450&r2=32451&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Rule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/Rule.py [utf8] Fri Feb 12 01:26:15 2010
@@ -130,7 +130,7 @@
return False
return Predicate.test(self, *args, **kw)
- def _expandBPM(self, applied_rule, force=0, **kw):
+ def _expand(self, applied_rule, force=0, **kw):
"""Generic expand with helpers.
Do NOT overload, use helpers."""
add_list, modify_dict, \
@@ -162,7 +162,7 @@
is expanded.
"""
if self._isBPM():
- return self._expandBPM(applied_rule, **kw)
+ return self._expand(applied_rule, **kw)
for o in applied_rule.objectValues():
o.expand(**kw)
@@ -310,10 +310,14 @@
"""Returns list of tuples (movement, business_path)"""
input_movement_list = self._getInputMovementList(applied_rule)
business_process = applied_rule.getBusinessProcessValue()
+ trade_phase_list = self.getTradePhaseList()
+
+ # In non-BPM case, we have no business path.
+ if business_process is None or len(trade_phase_list) == 0:
+ return [(input_movement, None) for input_movement in input_movement_list]
input_movement_and_path_list = []
business_path_list = []
- trade_phase_list = self.getTradePhaseList()
for input_movement in input_movement_list:
for business_path in business_process.getPathValueList(
trade_phase_list,
@@ -537,6 +541,13 @@
for prop in default_property_list:
property_dict[prop] = movement.getProperty(prop)
+ # rule specific
+ property_dict.update(**self._getExpandablePropertyUpdateDict(applied_rule,
+ movement, business_path, property_dict))
+
+ if business_path is None:
+ return property_dict
+
# Arrow
for base_category in \
business_path.getSourceArrowBaseCategoryList() +\
@@ -573,10 +584,6 @@
property_dict['start_date'] = movement.getStartDate()
property_dict['stop_date'] = movement.getStopDate()
- # rule specific
- property_dict.update(**self._getExpandablePropertyUpdateDict(applied_rule,
- movement, business_path, property_dict))
-
# save a relation to business path
property_dict['causality_list'] = [business_path.getRelativeUrl()]
More information about the Erp5-report
mailing list