[Erp5-report] r28417 - in /erp5/trunk/products/ERP5: Document/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Aug 17 15:54:43 CEST 2009
Author: luke
Date: Mon Aug 17 15:54:42 2009
New Revision: 28417
URL: http://svn.erp5.org?rev=28417&view=rev
Log:
- use order link to match simulation movements with prevision for root rules, remove fixed todos
- be consistent - use _list for order and delivery category property
Modified:
erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py
erp5/trunk/products/ERP5/Document/BPMOrderRule.py
erp5/trunk/products/ERP5/Document/BPMRule.py
erp5/trunk/products/ERP5/tests/testBPMEvaluation.py
Modified: erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py?rev=28417&r1=28416&r2=28417&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BPMDeliveryRule.py [utf8] Mon Aug 17 15:54:42 2009
@@ -38,8 +38,6 @@
DISCLAIMER: Refer to BPMRule docstring disclaimer.
This is BPM enabled Delivery Rule.
-
- FIXME: override _getCompensatedMovementList to match per order link
"""
# CMF Type Definition
@@ -64,7 +62,7 @@
business_path, current_property_dict):
"""Delivery specific update dict"""
return {
- 'order_value': movement,
- 'delivery_value': movement,
+ 'order_list': [movement.getRelativeUrl()],
+ 'delivery_list': [movement.getRelativeUrl()],
'deliverable': 1,
}
Modified: erp5/trunk/products/ERP5/Document/BPMOrderRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BPMOrderRule.py?rev=28417&r1=28416&r2=28417&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BPMOrderRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BPMOrderRule.py [utf8] Mon Aug 17 15:54:42 2009
@@ -38,8 +38,6 @@
DISCLAIMER: Refer to BPMRule docstring disclaimer.
This is BPM enabled Order Rule.
-
- FIXME: override _getCompensatedMovementList to match per order link
"""
# CMF Type Definition
meta_type = 'ERP5 BPM Order Rule'
@@ -63,6 +61,6 @@
business_path, current_property_dict):
"""Order rule specific update dictionary"""
return {
- 'order_value': movement,
+ 'order_list': [movement.getRelativeUrl()],
'deliverable': 1,
}
Modified: erp5/trunk/products/ERP5/Document/BPMRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BPMRule.py?rev=28417&r1=28416&r2=28417&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BPMRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BPMRule.py [utf8] Mon Aug 17 15:54:42 2009
@@ -260,11 +260,17 @@
for prevision in prevision_list:
p_matched_list = []
for movement in non_matched_list:
- for prop in self.getMatchingPropertyList():
- if prevision.get(prop) != movement.getProperty(prop):
- break
+ if 'order_list' in prevision:
+ # applied rule is root, use order link to find movement
+ if movement.getOrder() == prevision.get('order_list', [''])[0]:
+ p_matched_list.append(movement)
else:
- p_matched_list.append(movement)
+ # applied rule is not root one, match
+ for prop in self.getMatchingPropertyList():
+ if prevision.get(prop) != movement.getProperty(prop):
+ break
+ else:
+ p_matched_list.append(movement)
# Movements exist, we'll try to make them match the prevision
if p_matched_list != []:
Modified: erp5/trunk/products/ERP5/tests/testBPMEvaluation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBPMEvaluation.py?rev=28417&r1=28416&r2=28417&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBPMEvaluation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBPMEvaluation.py [utf8] Mon Aug 17 15:54:42 2009
@@ -39,6 +39,12 @@
TODOs:
* avoid duplication of code when possible
* implement tests wisely, to support at least both BPM cases
+
+Scenarios to cover:
+
+ * unify root rules (BPMOrderRule, BPMDeliveryRule, etc) tests - they share
+ a lot of code
+ * test case of splitting for root rules
"""
import unittest
@@ -304,9 +310,6 @@
self._checkOrderBPMSimulation()
def test_planning_line_edit_add_same_resource_than_order(self):
- # TODO: this test fails because BPMOrderRule do not matches movement using
- # order link, this have to be done in similar way like OrderRule and
- # DeliveryRule work
self.test_planning_line_edit_add_same_resource()
self.order.order()
self.stepTic()
More information about the Erp5-report
mailing list