external_workflow: handle trigger identifier changing (#42669)

This commit is contained in:
Serghei Mihai 2020-05-11 16:47:50 +02:00
parent 3690d3c987
commit d46f05b8b3
2 changed files with 10 additions and 3 deletions

View File

@ -3585,6 +3585,12 @@ def test_workflows_global_actions_external_workflow_action(pub):
resp = resp.forms[0].submit('submit')
resp.forms[0]['trigger_id'] = 'action:%s' % trigger.identifier
resp = resp.forms[0].submit('submit').follow().follow()
assert 'External workflow (action "Global action" on external)' in resp.text
trigger.identifier = 'another_test'
wf.store()
resp = app.get('/backoffice/workflows/%s/status/%s/' % (workflow.id, st.id))
assert 'External workflow (not completed)' in resp.text
def test_workflows_criticality_levels(pub):

View File

@ -105,9 +105,10 @@ class ExternalWorkflowGlobalAction(WorkflowStatusItem):
if self.slug and self.trigger_id:
objectdef = self.get_object_def()
trigger = self.get_trigger(objectdef.workflow)
return _('action "%(trigger_name)s" on %(object_name)s') % {
'trigger_name': trigger.parent.name,
'object_name': objectdef.name}
if objectdef and trigger:
return _('action "%(trigger_name)s" on %(object_name)s') % {
'trigger_name': trigger.parent.name,
'object_name': objectdef.name}
return _('not completed')
def iter_target_datas(self, formdata, objectdef):