Don't update task if workflow is locked, hidden, or disabled

This commit is contained in:
mike cullerton 2022-05-06 08:49:20 -04:00
parent 128c516494
commit d91fa9e095
1 changed files with 4 additions and 0 deletions

View File

@ -202,6 +202,7 @@ def get_workflow(workflow_id, do_engine_steps=True):
workflow_api_model = WorkflowService.processor_to_workflow_api(processor) workflow_api_model = WorkflowService.processor_to_workflow_api(processor)
return WorkflowApiSchema().dump(workflow_api_model) return WorkflowApiSchema().dump(workflow_api_model)
def restart_workflow(workflow_id, clear_data=False, delete_files=False): def restart_workflow(workflow_id, clear_data=False, delete_files=False):
"""Restart a workflow with the latest spec. """Restart a workflow with the latest spec.
Clear data allows user to restart the workflow without previous data.""" Clear data allows user to restart the workflow without previous data."""
@ -282,6 +283,9 @@ def update_task(workflow_id, task_id, body, terminate_loop=None, update_all=Fals
workflow_model = session.query(WorkflowModel).filter_by(id=workflow_id).first() workflow_model = session.query(WorkflowModel).filter_by(id=workflow_id).first()
if workflow_model is None: if workflow_model is None:
raise ApiError("invalid_workflow_id", "The given workflow id is not valid.", status_code=404) raise ApiError("invalid_workflow_id", "The given workflow id is not valid.", status_code=404)
if workflow_model.workflow_state in ('hidden', 'disabled', 'locked'):
raise ApiError(code='locked_workflow',
message='You tried to update a task for a workflow that is hidden, locked, or disabled.')
processor = WorkflowProcessor(workflow_model) processor = WorkflowProcessor(workflow_model)
task_id = uuid.UUID(task_id) task_id = uuid.UUID(task_id)