From 3ba3b5448a2e856ef09bd05ab3b0722af3f8b98b Mon Sep 17 00:00:00 2001 From: jasquat Date: Thu, 7 Sep 2023 15:11:06 -0400 Subject: [PATCH] runtime_info can be None so check for it w/ burnettk --- .../src/spiffworkflow_backend/models/task.py | 2 +- .../routes/process_instances_controller.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/models/task.py b/spiffworkflow-backend/src/spiffworkflow_backend/models/task.py index 8f5d140a..6a4e324b 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/models/task.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/models/task.py @@ -65,8 +65,8 @@ class TaskModel(SpiffworkflowBaseDBModel): json_data_hash: str = db.Column(db.String(255), nullable=False, index=True) python_env_data_hash: str = db.Column(db.String(255), nullable=False, index=True) - runtime_info: dict = db.Column(db.JSON) + runtime_info: dict | None = db.Column(db.JSON) start_in_seconds: float | None = db.Column(db.DECIMAL(17, 6)) end_in_seconds: float | None = db.Column(db.DECIMAL(17, 6)) diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py index 0ca8ba18..92409c85 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/routes/process_instances_controller.py @@ -500,7 +500,9 @@ def process_instance_task_list( task_models_of_parent_bpmn_processes, ) = TaskService.task_models_of_parent_bpmn_processes(to_task_model) task_models_of_parent_bpmn_processes_guids = [p.guid for p in task_models_of_parent_bpmn_processes if p.guid] - if "instance" in to_task_model.runtime_info or "iteration" in to_task_model.runtime_info: + if to_task_model.runtime_info and ( + "instance" in to_task_model.runtime_info or "iteration" in to_task_model.runtime_info + ): to_task_model_parent = [to_task_model.properties_json["parent"]] else: to_task_model_parent = [] @@ -579,7 +581,9 @@ def process_instance_task_list( most_recent_tasks[row_key] = task_model if task_model.typename in ["SubWorkflowTask", "CallActivity"]: relevant_subprocess_guids.add(task_model.guid) - elif "instance" in task_model.runtime_info or "iteration" in task_model.runtime_info: + elif task_model.runtime_info and ( + "instance" in task_model.runtime_info or "iteration" in task_model.runtime_info + ): # This handles adding all instances of a MI and iterations of loop tasks additional_tasks.append(task_model)