[Erp5-report] r26676 - in /erp5/trunk/products/ERP5: Document/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Apr 28 14:25:45 CEST 2009
Author: luke
Date: Tue Apr 28 14:25:43 2009
New Revision: 26676
URL: http://svn.erp5.org?rev=26676&view=rev
Log:
- use system preferences list of categories to recognise resources
- update test to use it
Modified:
erp5/trunk/products/ERP5/Document/TradeModelLine.py
erp5/trunk/products/ERP5/tests/testBPMCore.py
Modified: erp5/trunk/products/ERP5/Document/TradeModelLine.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/TradeModelLine.py?rev=26676&r1=26675&r2=26676&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/TradeModelLine.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/TradeModelLine.py [utf8] Tue Apr 28 14:25:43 2009
@@ -34,6 +34,7 @@
from Products.ERP5.Document.Amount import Amount
from Products.ERP5.AggregatedAmountList import AggregatedAmountList
+
import zope.interface
class TradeModelLine(Amount):
@@ -68,9 +69,13 @@
def getAggregatedAmountList(self, context, movement_list = None,
current_aggregated_amount_list = None, **kw):
-
from Products.ERP5Type.Document import newTempMovement
+ normal_resource_use_category_list = self.\
+ portal_preferences.getPreferredNormalResourceUseCategoryList()
+ if normal_resource_use_category_list is None:
+ raise ValueError('preferred_normal_resource_use_category is not ' + \
+ 'configured in System Preferences')
if current_aggregated_amount_list is None:
current_aggregated_amount_list = []
@@ -102,9 +107,9 @@
for movement in context.getMovementList():
movement_resource = movement.getResourceValue()
if movement_resource is not None:
- if movement_resource.getUse() not in ['', None]:
- continue
- movement_list.append(movement)
+ 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/tests/testBPMCore.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBPMCore.py?rev=26676&r1=26675&r2=26676&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBPMCore.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBPMCore.py [utf8] Tue Apr 28 14:25:43 2009
@@ -58,6 +58,9 @@
modified_order_line_price_ratio = 2.0
modified_order_line_quantity_ratio = 2.5
+ normal_resource_use_category_list = ['normal']
+ invoicing_resource_use_category_list = ['discount', 'tax']
+
def setUpOnce(self):
self.portal = self.getPortalObject()
self.validateRules()
@@ -70,10 +73,13 @@
@reindex
def createCategories(self):
- category_tool = getToolByName(self.portal,'portal_categories')
- self.createCategoriesInCategory(category_tool.base_amount,['discount', 'tax'])
- self.createCategoriesInCategory(category_tool.use,['discount', 'tax'])
- self.createCategoriesInCategory(category_tool.trade_phase,['default',])
+ category_tool = getToolByName(self.portal, 'portal_categories')
+ self.createCategoriesInCategory(category_tool.base_amount, ['discount',
+ 'tax'])
+ self.createCategoriesInCategory(category_tool.use,
+ self.normal_resource_use_category_list + \
+ self.invoicing_resource_use_category_list)
+ self.createCategoriesInCategory(category_tool.trade_phase, ['default',])
self.createCategoriesInCategory(category_tool.trade_phase.default,
['accounting', 'delivery', 'invoicing', 'discount', 'tax', 'payment'])
@@ -159,8 +165,32 @@
return applied_rule.newContent(portal_type='Simulation Movement')
@reindex
+ def setSystemPreference(self):
+ preference_tool = getToolByName(self.portal, 'portal_preferences')
+ system_preference_list = preference_tool.contentValues(
+ portal_type='System Preference')
+ if len(system_preference_list) > 1:
+ raise AttributeError('More than one System Preference, cannot test')
+ if len(system_preference_list) == 0:
+ system_preference = preference_tool.newContent(portal_type='System Preference')
+ else:
+ system_preference = system_preference_list[0]
+ system_preference.edit(
+ preferred_invoicing_resource_use_category_list = \
+ self.invoicing_resource_use_category_list,
+ preferred_normal_resource_use_category_list = \
+ self.normal_resource_use_category_list,
+ priority = 1,
+
+ )
+
+ if system_preference.getPreferenceState() == 'disabled':
+ system_preference.enable()
+
+ @reindex
def afterSetUp(self):
self.createCategories()
+ self.setSystemPreference()
# XXX for testing purpose only...
# This builder is not supporting yet deeper simulation tree
@@ -630,18 +660,21 @@
sequence.edit(product_taxed = self.createResource('Product',
title='Product Taxed',
base_contribution=['base_amount/tax'],
+ use='normal',
))
def stepCreateProductDiscounted(self, sequence=None, **kw):
sequence.edit(product_discounted = self.createResource('Product',
title='Product Discounted',
base_contribution=['base_amount/discount'],
+ use='normal',
))
def stepCreateProductDiscountedTaxed(self, sequence=None, **kw):
sequence.edit(product_discounted_taxed = self.createResource('Product',
title='Product Discounted & Taxed',
base_contribution=['base_amount/discount', 'base_amount/tax'],
+ use='normal',
))
def stepCreateServiceTax(self, sequence=None, **kw):
More information about the Erp5-report
mailing list