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): ...@@ -160,6 +160,7 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
return False return False
def doActionFor(self, ob, action, wf_id=None, *args, **kw): 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()) workflow_list = self.getWorkflowValueListFor(ob.getPortalType())
if wf_id is None: if wf_id is None:
if workflow_list == []: if workflow_list == []:
...@@ -168,6 +169,7 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool): ...@@ -168,6 +169,7 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
for wf in workflow_list: for wf in workflow_list:
if wf.isActionSupported(ob, action, **kw): if wf.isActionSupported(ob, action, **kw):
found = 1 found = 1
LOG(" user_action is from workflow '%s'"%wf.getId(), WARNING, " in WorkflowTool.py, 172")
break break
if not found: if not found:
msg = _(u"No workflow provides the '${action_id}' action.",mapping={'action_id': action}) msg = _(u"No workflow provides the '${action_id}' action.",mapping={'action_id': action})
...@@ -322,7 +324,12 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool): ...@@ -322,7 +324,12 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
transition.setActboxCategory(tdef.actbox_category) transition.setActboxCategory(tdef.actbox_category)
transition.setActboxIcon(tdef.actbox_icon) transition.setActboxIcon(tdef.actbox_icon)
transition.setActboxName(tdef.actbox_name) 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) transition.setDescription(tdef.description)
if tdef.after_script_name is not None: if tdef.after_script_name is not None:
# check after script is a Transion or a Script: # check after script is a Transion or a Script:
...@@ -406,16 +413,25 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool): ...@@ -406,16 +413,25 @@ class WorkflowTool(BaseTool, OriginalWorkflowTool):
state_id = 'state_'+value state_id = 'state_'+value
state_id_list.append(state_id) state_id_list.append(state_id)
worklist.setMatchedSimulationStateList(state_id_list) 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': elif key == 'validation_state':
state_id_list = [] state_id_list = []
for value in values: for value in values:
state_id = 'state_'+value state_id = 'state_'+value
state_id_list.append(state_id) state_id_list.append(state_id)
worklist.setMatchedValidationStateList(state_id_list) 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.setActboxCategory(qdef.actbox_category)
worklist.setActboxIcon(qdef.actbox_icon) worklist.setActboxIcon(qdef.actbox_icon)
worklist.setActboxName(qdef.actbox_name) worklist.setActboxName(qdef.actbox_name)
worklist.setActboxUrl(qdef.actbox_url)
# configure guard # configure guard
if qdef.guard: if qdef.guard:
worklist.setRoleList(qdef.guard.roles) 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