[Erp5-report] r44416 rafael - in /erp5/trunk/products/ERP5Configurator: Document/ Tool/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Mar 18 02:46:06 CET 2011
Author: rafael
Date: Fri Mar 18 02:46:04 2011
New Revision: 44416
URL: http://svn.erp5.org?rev=44416&view=rev
Log:
Initialize Workflow in a safer way, and do not permit use inconsistent Business Configurations.
Modified:
erp5/trunk/products/ERP5Configurator/Document/BusinessConfiguration.py
erp5/trunk/products/ERP5Configurator/Tool/ConfiguratorTool.py
Modified: erp5/trunk/products/ERP5Configurator/Document/BusinessConfiguration.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Configurator/Document/BusinessConfiguration.py?rev=44416&r1=44415&r2=44416&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Configurator/Document/BusinessConfiguration.py [utf8] (original)
+++ erp5/trunk/products/ERP5Configurator/Document/BusinessConfiguration.py [utf8] Fri Mar 18 02:46:04 2011
@@ -91,6 +91,18 @@ class BusinessConfiguration(Item):
"""
return self.getCurrentStateTitle() == END_STATE_TITLE
+ security.declareProtected(Permissions.ModifyPortalContent, \
+ 'initializeWorkflow')
+ def initializeWorkflow(self):
+ """ Initialize Related Workflow"""
+ workflow = self.getResourceValue()
+ if workflow is not None and \
+ (self.getResource() not in self.workflow_history):
+ if len(self.objectValues("ERP5 Configuration Save")) > 0:
+ raise ValueError("Business Configuration Cannot be initialized, \
+ it contains one or more Configurator Save")
+ workflow.initializeDocument(self)
+
security.declareProtected(Permissions.View, 'getNextTransition')
def getNextTransition(self):
""" Return next transition. """
@@ -269,8 +281,7 @@ class BusinessConfiguration(Item):
next_state = self.unrestrictedTraverse(transition.getDestination())
workflow_history = current_state.getWorkflowHistory(self)
for wh in workflow_history:
- wh_state = self.unrestrictedTraverse(wh['current_state'])
- if wh_state == next_state:
+ if next_state == self.unrestrictedTraverse(wh['current_state']):
configuration_save = self.unrestrictedTraverse(wh['configuration_save_url'])
return configuration_save
Modified: erp5/trunk/products/ERP5Configurator/Tool/ConfiguratorTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Configurator/Tool/ConfiguratorTool.py?rev=44416&r1=44415&r2=44416&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Configurator/Tool/ConfiguratorTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Configurator/Tool/ConfiguratorTool.py [utf8] Fri Mar 18 02:46:04 2011
@@ -231,6 +231,8 @@ class ConfiguratorTool(BaseTool):
validation_errors = None
response = {}
+ business_configuration.initializeWorkflow()
+
## initial state no previous form to validate
if business_configuration.isInitialConfigurationState():
need_validation = 0
More information about the Erp5-report
mailing list