backoffice: fix form inspect with missing external wf on trace (#73823) #72

Merged
lguerin merged 1 commits from wip/73823-workflowtrace-unkown-external-workflow into main 2023-01-31 16:06:30 +01:00
2 changed files with 9 additions and 3 deletions

View File

@ -733,6 +733,14 @@ def test_inspect_page_actions_traces(pub):
workflow.store()
app.get(formdata.get_url(backoffice=True) + 'inspect')
# delete external workflow
workflow.remove_self()
resp = app.get(target_formdata.get_url(backoffice=True) + 'inspect')
assert '>Actions Tracing</' in resp
assert [x.text for x in resp.pyquery('#inspect-timeline .event a')] == ['Created (by workflow action)']
event_links = [x.attrib['href'] for x in resp.pyquery('#inspect-timeline .event a')]
assert event_links[0] == '#missing-_create'
def test_inspect_page_missing_carddef_error(pub):
create_user(pub, is_admin=True)

View File

@ -77,9 +77,7 @@ class WorkflowTrace(sql.WorkflowTrace):
if self.event_args.get('external_workflow_id'):
from wcs.workflows import Workflow
self._external_workflow = Workflow.get(
self.event_args.get('external_workflow_id'), ignore_errors=True
)
self._external_workflow = Workflow.get(self.event_args.get('external_workflow_id'))
Review

il y a un try/except KeyError dans la méthode get_external_url qui permet de gérer ce cas

il y a un try/except KeyError dans la méthode get_external_url qui permet de gérer ce cas
return self._external_workflow
def get_external_url(self, global_event):