From f7edaabfaa888c97f618286da45b7c72297d5393 Mon Sep 17 00:00:00 2001 From: Ahmed Awan Date: Fri, 14 Jun 2024 15:57:14 -0500 Subject: [PATCH 1/3] [24.1] Fix `input_step_parameters` missing vals without label `input_step_parameters` that did not have labels (label=None) were being excluded in the `WorkflowInvocation.to_dict()` result. This therefore sets the label to `n: Unnamed parameter` for null labels. Fixes https://github.com/galaxyproject/galaxy/issues/18366 --- .../WorkflowInvocationState/WorkflowInvocationStep.vue | 7 ++++++- lib/galaxy/model/__init__.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/client/src/components/WorkflowInvocationState/WorkflowInvocationStep.vue b/client/src/components/WorkflowInvocationState/WorkflowInvocationStep.vue index 4678418e6f5d..243c44d428d1 100644 --- a/client/src/components/WorkflowInvocationState/WorkflowInvocationStep.vue +++ b/client/src/components/WorkflowInvocationState/WorkflowInvocationStep.vue @@ -74,7 +74,7 @@ + :parameters="[getParamInput(stepDetails)]" /> Date: Fri, 14 Jun 2024 16:08:44 -0500 Subject: [PATCH 2/3] cast invocation state query route prop `fromPanel` to Boolean --- client/src/entry/analysis/router.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/entry/analysis/router.js b/client/src/entry/analysis/router.js index 16484c23f5d7..71b66c66ed9a 100644 --- a/client/src/entry/analysis/router.js +++ b/client/src/entry/analysis/router.js @@ -628,7 +628,7 @@ export function getRouter(Galaxy) { props: (route) => ({ invocationId: route.params.invocationId, isFullPage: true, - fromPanel: route.query.from_panel, + fromPanel: Boolean(route.query.from_panel), }), }, { From b5cabbfc08a9a5fbe7da5a6d1dde85dbe44b64c4 Mon Sep 17 00:00:00 2001 From: Ahmed Awan Date: Fri, 14 Jun 2024 16:09:17 -0500 Subject: [PATCH 3/3] ensure correct version routed to on workflow run This is a bug caused in https://github.com/galaxyproject/galaxy/pull/18378 which made the `SaveChangesModal` useless because the version before the save was routed to. Now, we instead append the version to the route after the user confirms the save (or doesn't) in the modal. --- client/src/components/Workflow/Editor/Index.vue | 10 +++++----- .../components/Workflow/Editor/SaveChangesModal.vue | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client/src/components/Workflow/Editor/Index.vue b/client/src/components/Workflow/Editor/Index.vue index 57a96b367335..71983b2421d0 100644 --- a/client/src/components/Workflow/Editor/Index.vue +++ b/client/src/components/Workflow/Editor/Index.vue @@ -801,12 +801,9 @@ export default { this.report.markdown = markdown; }, onRun() { - const runUrl = `/workflows/run?id=${this.id}${ - this.version !== undefined ? `&version=${this.version}` : "" - }`; - this.onNavigate(runUrl); + this.onNavigate(`/workflows/run?id=${this.id}`, false, false, true); }, - async onNavigate(url, forceSave = false, ignoreChanges = false) { + async onNavigate(url, forceSave = false, ignoreChanges = false, appendVersion = false) { if (this.isNewTempWorkflow) { await this.onCreate(); } else if (this.hasChanges && !forceSave && !ignoreChanges) { @@ -819,6 +816,9 @@ export default { await this.onSave(); } + if (appendVersion && this.version !== undefined) { + url += `&version=${this.version}`; + } this.hasChanges = false; await nextTick(); this.$router.push(url); diff --git a/client/src/components/Workflow/Editor/SaveChangesModal.vue b/client/src/components/Workflow/Editor/SaveChangesModal.vue index 9a2b5bbda2d0..921fa76a4b9e 100644 --- a/client/src/components/Workflow/Editor/SaveChangesModal.vue +++ b/client/src/components/Workflow/Editor/SaveChangesModal.vue @@ -24,7 +24,7 @@ const busy = ref(false); const emit = defineEmits<{ /** Proceed with or without saving the changes */ - (e: "on-proceed", url: string, forceSave: boolean, ignoreChanges: boolean): void; + (e: "on-proceed", url: string, forceSave: boolean, ignoreChanges: boolean, appendVersion: boolean): void; /** Update the nav URL prop */ (e: "update:nav-url", url: string): void; /** Update the show modal boolean prop */ @@ -49,13 +49,13 @@ function closeModal() { function dontSave() { busy.value = true; - emit("on-proceed", props.navUrl, false, true); + emit("on-proceed", props.navUrl, false, true, true); } function saveChanges() { busy.value = true; closeModal(); - emit("on-proceed", props.navUrl, true, false); + emit("on-proceed", props.navUrl, true, false, true); }