From 364e7e1f1fc54565982cea2fa47062b610d7b5ae Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Wed, 26 Sep 2018 16:46:40 +0200 Subject: [PATCH] Update name of Workflow when updating StoredWorkflow name Fixes https://github.com/galaxyproject/galaxy/issues/6773. --- lib/galaxy/webapps/galaxy/api/workflows.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/galaxy/webapps/galaxy/api/workflows.py b/lib/galaxy/webapps/galaxy/api/workflows.py index 72f0609dcd9..78e13986079 100644 --- a/lib/galaxy/webapps/galaxy/api/workflows.py +++ b/lib/galaxy/webapps/galaxy/api/workflows.py @@ -481,8 +481,15 @@ class WorkflowsAPIController(BaseAPIController, UsesStoredWorkflowMixin, UsesAnn workflow_dict = payload.get('workflow') or payload if workflow_dict: new_workflow_name = workflow_dict.get('name') or workflow_dict.get('name') - if new_workflow_name: - stored_workflow.name = sanitize_html(new_workflow_name) + if new_workflow_name and new_workflow_name != stored_workflow.name: + sanitized_name = sanitize_html(new_workflow_name) + workflow = stored_workflow.latest_workflow.copy() + workflow.stored_workflow = stored_workflow + workflow.name = sanitized_name + stored_workflow.name = sanitized_name + stored_workflow.latest_workflow = workflow + trans.sa_session.add(workflow, stored_workflow) + trans.sa_session.flush() if 'annotation' in workflow_dict: newAnnotation = sanitize_html(workflow_dict['annotation'])