external_workflow: list forms/cards only with triggers having identifiers (#42540)
This commit is contained in:
parent
fad27b06ac
commit
55c655bc35
|
@ -3543,7 +3543,6 @@ def test_workflows_global_actions_external_workflow_action(pub):
|
|||
wf = Workflow(name='external')
|
||||
action = wf.add_global_action('Global action')
|
||||
trigger = action.append_trigger('webservice')
|
||||
trigger.identifier = 'test'
|
||||
item = action.append_item('remove')
|
||||
wf.store()
|
||||
|
||||
|
@ -3572,6 +3571,12 @@ def test_workflows_global_actions_external_workflow_action(pub):
|
|||
assert 'External workflow (not completed)' in resp.text
|
||||
|
||||
resp = app.get('/backoffice/workflows/%s/status/%s/items/1/' % (workflow.id, st.id))
|
||||
assert "No workflow with external triggerable global action." in resp.text
|
||||
|
||||
trigger.identifier = 'test'
|
||||
wf.store()
|
||||
resp = app.get('/backoffice/workflows/%s/status/%s/items/1/' % (workflow.id, st.id))
|
||||
|
||||
resp = resp.forms[0].submit('submit')
|
||||
assert "required field" in resp.text
|
||||
resp.forms[0]['slug'] = 'formdef:%s' % formdef.url_name
|
||||
|
|
|
@ -43,7 +43,7 @@ class ExternalWorkflowGlobalAction(WorkflowStatusItem):
|
|||
def get_workflow_webservice_triggers(self, workflow):
|
||||
for action in workflow.global_actions or []:
|
||||
for trigger in action.triggers or []:
|
||||
if isinstance(trigger, WorkflowGlobalActionWebserviceTrigger):
|
||||
if isinstance(trigger, WorkflowGlobalActionWebserviceTrigger) and trigger.identifier:
|
||||
yield trigger
|
||||
|
||||
def get_object_def(self, object_slug=None):
|
||||
|
@ -93,9 +93,8 @@ class ExternalWorkflowGlobalAction(WorkflowStatusItem):
|
|||
object_def = self.get_object_def(form.get('%sslug' % prefix))
|
||||
triggers_names = [(None, '---', '')]
|
||||
for trigger in self.get_workflow_webservice_triggers(object_def.workflow):
|
||||
if trigger.identifier:
|
||||
trigger_id = 'action:%s' % trigger.identifier
|
||||
triggers_names.append((trigger_id, trigger.parent.name, trigger_id))
|
||||
trigger_id = 'action:%s' % trigger.identifier
|
||||
triggers_names.append((trigger_id, trigger.parent.name, trigger_id))
|
||||
form.add(SingleSelectWidget, '%strigger_id' % prefix,
|
||||
title=_('Action'),
|
||||
value=self.trigger_id,
|
||||
|
|
Loading…
Reference in New Issue