From 18929580bcb8f7ca1326e1c65a258468eb8690c0 Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 20 Apr 2022 14:27:36 -0400 Subject: [PATCH] Hot fix for another issue with the new serializer. --- crc/services/workflow_processor.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/crc/services/workflow_processor.py b/crc/services/workflow_processor.py index 9a0c2585..07b5bcdc 100644 --- a/crc/services/workflow_processor.py +++ b/crc/services/workflow_processor.py @@ -46,13 +46,21 @@ class CustomBpmnScriptEngine(PythonScriptEngine): def __get_augment_methods(task): methods = [] if task: - study_id = task.workflow.data[WorkflowProcessor.STUDY_ID_KEY] - if WorkflowProcessor.WORKFLOW_ID_KEY in task.workflow.data: - workflow_id = task.workflow.data[WorkflowProcessor.WORKFLOW_ID_KEY] + # Find the top level workflow, as this is where the study id etc... are stored. + workflow = task.workflow + while WorkflowProcessor.STUDY_ID_KEY not in workflow.data: + if workflow.outer_workflow != workflow: + workflow = workflow.outer_workflow + else: + break + + study_id = workflow.data[WorkflowProcessor.STUDY_ID_KEY] + if WorkflowProcessor.WORKFLOW_ID_KEY in workflow.data: + workflow_id = workflow.data[WorkflowProcessor.WORKFLOW_ID_KEY] else: workflow_id = None - if task.workflow.data[WorkflowProcessor.VALIDATION_PROCESS_KEY]: + if workflow.data[WorkflowProcessor.VALIDATION_PROCESS_KEY]: methods = Script.generate_augmented_validate_list(task, study_id, workflow_id) else: methods = Script.generate_augmented_list(task, study_id, workflow_id)