[Erp5-report] r25622 - /erp5/trunk/products/ERP5Type/DocumentationHelper/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Feb 19 15:03:03 CET 2009
Author: jm
Date: Thu Feb 19 15:03:02 2009
New Revision: 25622
URL: http://svn.erp5.org?rev=25622&view=rev
Log:
On transitions, display source states instead of all states. (+ refactoring)
Modified:
erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowDocumentationHelper.py
erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowStateDocumentationHelper.py
erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowTransitionDocumentationHelper.py
Modified: erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowDocumentationHelper.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowDocumentationHelper.py?rev=25622&r1=25621&r2=25622&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowDocumentationHelper.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowDocumentationHelper.py [utf8] Thu Feb 19 15:03:02 2009
@@ -93,7 +93,7 @@
for role in getRoleList(self.getDocumentedObject())]
def getStateUriList(self):
- return ['%s/states#%s' % (self.uri, state)
+ return ['%s/states/%s' % (self.uri, state)
for state in sorted(self.getDocumentedObject().states.objectIds())]
security.declareProtected(Permissions.AccessContentsInformation, 'getStateItemList')
@@ -109,56 +109,17 @@
item_list.append(helper)
return item_list
- security.declareProtected(Permissions.AccessContentsInformation, 'getTransitionIdList')
- def getTransitionIdList(self):
- """
- """
- transition_list = []
- transitions = getattr(self.getDocumentedObject(), 'transitions', None)
- if transitions is not None:
- for transition in transitions.objectValues():
- transition_list.append(transition.getId())
- return transition_list
+ def getTransitionUriList(self):
+ return ['%s/transitions/%s' % (self.uri, transition)
+ for transition
+ in sorted(self.getDocumentedObject().transitions.objectIds())]
security.declareProtected(Permissions.AccessContentsInformation, 'getTransitionItemList')
- def getTransitionItemList(self):
- """
- """
- transition_list = []
- trigger_type_list = ['Automatic','Initiated by user action','Initiated by WorkflowMethod']
- transitions = getattr(self.getDocumentedObject(), 'transitions', None)
- if transitions is not None:
- for transition in self.getDocumentedObject().transitions.objectValues():
- guard_roles = ""
- guard = dir(transition.guard)
- if hasattr(transition.guard, '__dict__'):
- if 'roles' in transition.guard.__dict__.keys():
- guard_roles = ', '.join(role for role in transition.guard.__dict__['roles'])
- transition_list.append((transition.getId(),
- getattr(transition, "title", ""),
- trigger_type_list[transition.trigger_type],
- getattr(transition, "description", ""),
- guard_roles
- ))
- return transition_list
-
- security.declareProtected(Permissions.AccessContentsInformation, 'getTransitionUriList')
- def getTransitionUriList(self):
- """
- """
- transition_id_list = self.getTransitionIdList()
- return map(lambda x: ('%s/transitions/%s' % (self.uri, x)), transition_id_list)
-
- security.declareProtected(Permissions.AccessContentsInformation, 'getTransitionURIList')
- def getTransitionURIList(self):
- """
- """
- transition_item_list = self.getTransitionItemList()
- klass = self.getDocumentedObject().__class__
- class_name = klass.__name__
- module = klass.__module__
- uri_prefix = '%s.%s.' % (module, class_name)
- return map(lambda x: ('%s%s' % (uri_prefix, x[0]), x[1], x[2], x[3], x[4]), transition_item_list)
+ def getTransitionItemList(self, **kw):
+ """
+ """
+ return [self.getDocumentationHelper('DCWorkflowTransitionDocumentationHelper', uri)
+ for uri in self.getTransitionUriList()]
security.declareProtected(Permissions.AccessContentsInformation, 'getVariableIdList')
def getVariableIdList(self):
Modified: erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowStateDocumentationHelper.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowStateDocumentationHelper.py?rev=25622&r1=25621&r2=25622&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowStateDocumentationHelper.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowStateDocumentationHelper.py [utf8] Thu Feb 19 15:03:02 2009
@@ -46,12 +46,15 @@
"""
return "Workflow State"
- security.declareProtected(Permissions.AccessContentsInformation, 'getTransitionList')
- def getTransitionList(self):
+ security.declareProtected(Permissions.AccessContentsInformation, 'getTransitionItemList')
+ def getTransitionItemList(self, **kw):
"""
- Returns list of possible transitions from this state
"""
- return self.getDocumentedObject().transitions
+ state = self.getDocumentedObject()
+ base_uri = '/'.join(state.getPhysicalPath()[:-2] + ('transitions', ''))
+ return [self.getDocumentationHelper('DCWorkflowTransitionDocumentationHelper',
+ base_uri + id)
+ for id in state.transitions]
security.declareProtected(Permissions.AccessContentsInformation, 'getRoleList')
def getRoleList(self):
Modified: erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowTransitionDocumentationHelper.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowTransitionDocumentationHelper.py?rev=25622&r1=25621&r2=25622&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowTransitionDocumentationHelper.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/DocumentationHelper/DCWorkflowTransitionDocumentationHelper.py [utf8] Thu Feb 19 15:03:02 2009
@@ -45,6 +45,14 @@
"""
return "Workflow Transition"
+ security.declareProtected(Permissions.AccessContentsInformation, 'getTitle')
+ def getTitle(self):
+ """
+ Returns the title of the documentation helper
+ """
+ return DocumentationHelper.getTitle(self) \
+ or self.getDocumentedObject().actbox_name
+
security.declareProtected(Permissions.AccessContentsInformation, 'getNewStateId')
def getNewStateId(self):
"""
@@ -75,24 +83,31 @@
"""
return getattr(self.getDocumentedObject(), "after_script_name", '')
+ security.declareProtected(Permissions.AccessContentsInformation, 'getRoleColumnList')
+ def getRoleColumnList(self):
+ """
+ """
+ return self.getDocumentationHelper('DCWorkflowDocumentationHelper',
+ self.uri.rsplit('/',2)[0]) \
+ .getRoleColumnList()
+
security.declareProtected(Permissions.AccessContentsInformation, 'getAvailableStateIds')
- def getAvailableStateIds(self):
+ def getStateItemList(self, **kw):
"""
Returns available states in the workflow
"""
- return self.getDocumentedObject().getAvailableStateIds()
+ workflow_uri, transitions, transition_id = self.uri.rsplit('/',2)
+ helper = self.getDocumentationHelper('DCWorkflowDocumentationHelper', workflow_uri)
+ return [state for state in helper.getStateItemList(**kw)
+ if transition_id in state.getDocumentedObject().transitions]
security.declareProtected(Permissions.AccessContentsInformation, 'getGuardRoles')
def getGuardRoles(self):
"""
Returns roles to pass this transition
"""
- role_list = ()
- if hasattr(self.getDocumentedObject(),'guard'):
- dir(self.getDocumentedObject().guard)
- if hasattr(self.getDocumentedObject().guard, '__dict__'):
- if 'roles' in self.getDocumentedObject().guard.__dict__.keys():
- role_list = self.getDocumentedObject().guard.__dict__['roles']
- return ', '.join(role for role in role_list)
+ guard = getattr(self.getDocumentedObject(), 'guard', None)
+ if guard is not None:
+ return ', '.join(guard.roles)
InitializeClass(DCWorkflowTransitionDocumentationHelper)
More information about the Erp5-report
mailing list