Commit 289c455b authored by wenjie.zheng's avatar wenjie.zheng Committed by Sebastien Robin

WorkflowTool.py: modify action url to gain compatiblity of erp5 workflow after conversion.

parent 4be29c82
......@@ -160,6 +160,7 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
return False
def doActionFor(self, ob, action, wf_id=None, *args, **kw):
LOG(" Call user_action '%s' "%action, WARNING, " in WorkflowTool.py 163")
workflow_list = self.getWorkflowValueListFor(ob.getPortalType())
if wf_id is None:
if workflow_list == []:
......@@ -168,6 +169,7 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
for wf in workflow_list:
if wf.isActionSupported(ob, action, **kw):
found = 1
LOG(" user_action is from workflow '%s'"%wf.getId(), WARNING, " in WorkflowTool.py, 172")
break
if not found:
msg = _(u"No workflow provides the '${action_id}' action.",mapping={'action_id': action})
......@@ -322,7 +324,12 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
transition.setActboxCategory(tdef.actbox_category)
transition.setActboxIcon(tdef.actbox_icon)
transition.setActboxName(tdef.actbox_name)
transition.setActboxUrl(tdef.actbox_url)
# alter actbox_url to gain compatibility of erp5 workflow
compatible_url = tdef.actbox_url
if compatible_url is not None:
index_action_id = compatible_url.find(tdef.id)
compatible_url = compatible_url[:index_action_id] + 'transition_' + compatible_url[index_action_id:]
transition.setActboxUrl(compatible_url)
transition.setDescription(tdef.description)
if tdef.after_script_name is not None:
# check after script is a Transion or a Script:
......@@ -406,16 +413,25 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
state_id = 'state_'+value
state_id_list.append(state_id)
worklist.setMatchedSimulationStateList(state_id_list)
# alter url:
compatible_url = qdef.actbox_url
index_state_id = compatible_url.find(value)
compatible_url = compatible_url[:index_state_id] + 'state_' + compatible_url[index_state_id:]
worklist.setActboxUrl(compatible_url)
elif key == 'validation_state':
state_id_list = []
for value in values:
state_id = 'state_'+value
state_id_list.append(state_id)
worklist.setMatchedValidationStateList(state_id_list)
# alter url:
compatible_url = qdef.actbox_url
index_state_id = compatible_url.find(value)
compatible_url = compatible_url[:index_state_id] + 'state_' + compatible_url[index_state_id:]
worklist.setActboxUrl(compatible_url)
worklist.setActboxCategory(qdef.actbox_category)
worklist.setActboxIcon(qdef.actbox_icon)
worklist.setActboxName(qdef.actbox_name)
worklist.setActboxUrl(qdef.actbox_url)
# configure guard
if qdef.guard:
worklist.setRoleList(qdef.guard.roles)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment