From 92d21e55a5798811d4842566e5c97bf89b8201fb Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 17 May 2019 20:10:26 +0200 Subject: [PATCH 2/5] workflows: ease selecting related formdefs (#33186) --- wcs/workflows.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wcs/workflows.py b/wcs/workflows.py index d734abbd..0c3fcbe7 100644 --- a/wcs/workflows.py +++ b/wcs/workflows.py @@ -467,7 +467,7 @@ class Workflow(StorableObject): return False def remove_self(self): - for form in FormDef.select(lambda x: x.workflow_id == self.id): + for form in self.formdefs: form.workflow_id = None form.store() StorableObject.remove_self(self) @@ -779,6 +779,9 @@ class Workflow(StorableObject): return workflow + @property + def formdefs(self): + return FormDef.select(lambda formdef: formdef.workflow_id == self.id) class XmlSerialisable(object): node_name = None @@ -1130,7 +1133,7 @@ class WorkflowGlobalActionTimeoutTrigger(WorkflowGlobalActionTrigger): if not triggers: return - formdefs = [x for x in FormDef.select() if x.workflow_id == workflow.id] + formdefs = workflow.formdefs not_endpoint_status = workflow.get_not_endpoint_status() not_endpoint_status_ids = ['wf-%s' % x.id for x in not_endpoint_status] -- 2.20.1