[Erp5-report] r27604 - /erp5/trunk/products/ERP5/Document/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jun 16 15:00:12 CEST 2009
Author: luke
Date: Tue Jun 16 15:00:09 2009
New Revision: 27604
URL: http://svn.erp5.org?rev=27604&view=rev
Log:
- create local isMovement to simplify decision code
- do not analyse passed context in getAggregatedAmountList to simplify it, assume that movement or delivery is passed
- add some comments and explanations to decision process
- follow change for context in getAggregatedAmountList - TradeModelRule is passing simulation movement instead of applied rule
Modified:
erp5/trunk/products/ERP5/Document/TradeModelLine.py
erp5/trunk/products/ERP5/Document/TradeModelRule.py
Modified: erp5/trunk/products/ERP5/Document/TradeModelLine.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/TradeModelLine.py?rev=27604&r1=27603&r2=27604&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/TradeModelLine.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/TradeModelLine.py [utf8] Tue Jun 16 15:00:09 2009
@@ -36,6 +36,14 @@
from Products.ERP5Type.Utils import cartesianProduct
from Products.ERP5.AggregatedAmountList import AggregatedAmountList
import zope.interface
+
+def isMovement(document):
+ """Hides isMovement method or variable complexity"""
+ if callable(document.isMovement):
+ is_movement = document.isMovement()
+ else:
+ is_movement = document.isMovement
+ return is_movement
class TradeModelLine(Predicate, XMLMatrix, Amount):
"""Trade Model Line is a way to represent trade transformation for movements
@@ -101,28 +109,23 @@
# if temp_movements are passed as parameters, we want to use it,
# otherwise, we will search for simulation movements
if len(movement_list) == 0:
- if context.getPortalType() == 'Applied Rule':
- movement_list = [context.getParentValue()]
+ # no movements passed, need to find some
+ if isMovement(context):
+ # create movement lists from context
+ movement_list = [context]
else:
- if callable(context.isMovement):
- is_movement = context.isMovement()
- else:
- is_movement = context.isMovement
- if is_movement:
- # we need to create aggreageted amount on context itself
- movement_list = [context]
- else:
+ # create movement list for delivery's movements
+ movement_list = []
+ for movement in context.getMovementList():
# XXX: filtering shall be in getMovementList
- movement_list = []
- for movement in context.getMovementList():
- # add only movement wich are input (i.e. resource use category
- # is in the normal resource use preference list). Output will
- # be recalculated
- movement_resource = movement.getResourceValue()
- if movement_resource is not None:
- if movement_resource.getUse() in \
- normal_resource_use_category_list:
- movement_list.append(movement)
+ # add only movement which are input (i.e. resource use category
+ # is in the normal resource use preference list). Output will
+ # be recalculated
+ movement_resource = movement.getResourceValue()
+ if movement_resource is not None:
+ if movement_resource.getUse() in \
+ normal_resource_use_category_list:
+ movement_list.append(movement)
aggregated_amount_list = AggregatedAmountList()
base_application_list = self.getBaseApplicationList()
Modified: erp5/trunk/products/ERP5/Document/TradeModelRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/TradeModelRule.py?rev=27604&r1=27603&r2=27604&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/TradeModelRule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/TradeModelRule.py [utf8] Tue Jun 16 15:00:09 2009
@@ -119,8 +119,8 @@
if trade_condition is None or business_process is None:
return movement_list
- for amount in trade_condition.getAggregatedAmountList(applied_rule):
- context_movement = applied_rule.getParentValue()
+ context_movement = applied_rule.getParentValue()
+ for amount in trade_condition.getAggregatedAmountList(context_movement):
# everything static
movement_kw = self._getStaticPropertyDict(context_movement)
More information about the Erp5-report
mailing list