[Erp5-report] r31940 kazuhiko - /erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Jan 25 16:33:38 CET 2010
Author: kazuhiko
Date: Mon Jan 25 16:33:37 2010
New Revision: 31940
URL: http://svn.erp5.org?rev=31940&view=rev
Log:
support BPM.
Modified:
erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/InvoicingRule.py
erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/OrderRule.py
Modified: erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/InvoicingRule.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/InvoicingRule.py?rev=31940&r1=31939&r2=31940&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/InvoicingRule.py [utf8] (original)
+++ erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/InvoicingRule.py [utf8] Mon Jan 25 16:33:37 2010
@@ -36,6 +36,7 @@
from Products.ERP5.mixin.rule import RuleMixin
from Products.ERP5.mixin.movement_collection_updater import \
MovementCollectionUpdaterMixin
+from Products.ERP5.mixin.movement_generator import MovementGeneratorMixin
from Products.ERP5.MovementCollectionDiff import _getPropertyAndCategoryList
# XXX this class should be moved to Rule.py once new simulation is fully
@@ -125,7 +126,7 @@
# or destination.
return (movement.getSource() is None or movement.getDestination() is None)
-class InvoicingRuleMovementGenerator(object):
+class InvoicingRuleMovementGenerator(MovementGeneratorMixin):
def getGeneratedMovementList(self, context, movement_list=None,
rounding=False):
"""
@@ -135,8 +136,9 @@
i.e. business paths are not taken into account.
"""
ret = []
- for movement in [context.getParentValue(),]:
- kw = _getPropertyAndCategoryList(movement)
+ for input_movement, business_path in self \
+ ._getInputMovementAndPathTupleList(context):
+ kw = self._getPropertyAndCategoryList(input_movement, business_path)
kw.update({'order':None,'delivery':None})
simulation_movement = context.newContent(
portal_type=RuleMixin.movement_type,
@@ -144,3 +146,6 @@
**kw)
ret.append(simulation_movement)
return ret
+
+ def _getInputMovementList(self, context):
+ return [context.getParentValue(),]
Modified: erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/OrderRule.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/OrderRule.py?rev=31940&r1=31939&r2=31940&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/OrderRule.py [utf8] (original)
+++ erp5/trunk/bt5/erp5_simulation/DocumentTemplateItem/OrderRule.py [utf8] Mon Jan 25 16:33:37 2010
@@ -36,6 +36,7 @@
from Products.ERP5.mixin.rule import RuleMixin
from Products.ERP5.mixin.movement_collection_updater import \
MovementCollectionUpdaterMixin
+from Products.ERP5.mixin.movement_generator import MovementGeneratorMixin
from Products.ERP5.MovementCollectionDiff import _getPropertyAndCategoryList
# XXX this class should be moved to Rule.py once new simulation is fully
@@ -128,7 +129,7 @@
# or destination.
return (movement.getSource() is None or movement.getDestination() is None)
-class OrderRuleMovementGenerator(object):
+class OrderRuleMovementGenerator(MovementGeneratorMixin):
def getGeneratedMovementList(self, context, movement_list=None,
rounding=False):
"""
@@ -137,17 +138,23 @@
XXX This implementation is very primitive, and does not support BPM,
i.e. business paths are not taken into account.
"""
+ ret = []
+ for input_movement, business_path in self \
+ ._getInputMovementAndPathTupleList(context):
+ kw = self._getPropertyAndCategoryList(input_movement, business_path)
+ simulation_movement = context.newContent(
+ portal_type=RuleMixin.movement_type,
+ temp_object=True,
+ order_value=input_movement,
+ **kw)
+ ret.append(simulation_movement)
+ return ret
+
+ def _getInputMovementList(self, context):
+ """Input movement list comes from order"""
order = context.getDefaultCausalityValue()
if order is None:
return []
- ret = []
- for movement in order.getMovementList(
- portal_type=order.getPortalOrderMovementTypeList()):
- kw = _getPropertyAndCategoryList(movement)
- simulation_movement = context.newContent(
- portal_type=RuleMixin.movement_type,
- temp_object=True,
- order_value=movement,
- **kw)
- ret.append(simulation_movement)
- return ret
+ else:
+ return order.getMovementList(
+ portal_type=order.getPortalOrderMovementTypeList())
More information about the Erp5-report
mailing list