workflows: don't crash external workflow action on missing card/form (#44184)
This commit is contained in:
parent
5076220306
commit
48d9398a9c
|
@ -3671,6 +3671,13 @@ def test_workflows_global_actions_external_workflow_action(pub):
|
|||
resp = app.get('/backoffice/workflows/%s/status/%s/' % (workflow.id, st.id))
|
||||
assert 'External workflow (not completed)' in resp.text
|
||||
|
||||
trigger.identifier = 'action:%s' % trigger.identifier
|
||||
wf.store()
|
||||
formdef.remove_self()
|
||||
resp = app.get('/backoffice/workflows/%s/status/%s/' % (workflow.id, st.id))
|
||||
assert 'External workflow (not completed)' in resp.text
|
||||
resp = resp.click(href=re.compile(r'^items/1/$'), index=0)
|
||||
|
||||
|
||||
def test_workflows_edit_carddata_action(pub):
|
||||
create_superuser(pub)
|
||||
|
|
|
@ -91,6 +91,8 @@ class ExternalWorkflowGlobalAction(WorkflowStatusItem):
|
|||
|
||||
if 'trigger_id' in parameters and form.get('%sslug' % prefix):
|
||||
object_def = self.get_object_def(form.get('%sslug' % prefix))
|
||||
if not object_def:
|
||||
return
|
||||
triggers_names = [(None, '---', '')]
|
||||
for trigger in self.get_workflow_webservice_triggers(object_def.workflow):
|
||||
trigger_id = 'action:%s' % trigger.identifier
|
||||
|
@ -104,11 +106,12 @@ class ExternalWorkflowGlobalAction(WorkflowStatusItem):
|
|||
def get_line_details(self):
|
||||
if self.slug and self.trigger_id:
|
||||
objectdef = self.get_object_def()
|
||||
trigger = self.get_trigger(objectdef.workflow)
|
||||
if objectdef and trigger:
|
||||
return _('action "%(trigger_name)s" on %(object_name)s') % {
|
||||
'trigger_name': trigger.parent.name,
|
||||
'object_name': objectdef.name}
|
||||
if objectdef:
|
||||
trigger = self.get_trigger(objectdef.workflow)
|
||||
if 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):
|
||||
|
|
Loading…
Reference in New Issue