From 829bf01eca968e6170e292da2641a7a8712ffa65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 31 Jan 2022 21:09:00 +0100 Subject: [PATCH] fix workflow redirection in accompanying period work edit --- .../EntityWorkflow/ListWorkflowModal.vue | 33 +++++++++++++------ .../EntityWorkflow/PickWorkflow.vue | 15 +++++++-- .../vuejs/AccompanyingCourseWorkEdit/App.vue | 12 ++++++- .../components/AddEvaluation.vue | 11 +++---- .../vuejs/AccompanyingCourseWorkEdit/store.js | 1 + 5 files changed, 53 insertions(+), 19 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflowModal.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflowModal.vue index a188a3a02..2e4125c1a 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflowModal.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflowModal.vue @@ -1,5 +1,5 @@ @@ -53,6 +56,7 @@ export default { PickWorkflow, ListWorkflowVue }, + emits: ['goToGenerateWorkflow'], props: { workflows: { type: Array, @@ -73,9 +77,14 @@ export default { workflowsAvailables: { type: Array, required: true, - } + }, + preventDefaultMoveToGenerate: { + type: Boolean, + required: false, + default: false, + }, }, - data() { + data() { return { modal: { showModal: false, @@ -95,6 +104,10 @@ export default { openModal() { this.modal.showModal = true; }, + goToGenerateWorkflow(data) { + console.log('go to generate workflow intercepted'); + this.$emit('goToGenerateWorkflow', data); + } }, i18n: { messages: { @@ -108,4 +121,4 @@ export default { } - \ No newline at end of file + diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/PickWorkflow.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/PickWorkflow.vue index 3a39c0eff..e74cd7ef2 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/PickWorkflow.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/PickWorkflow.vue @@ -6,7 +6,7 @@ @@ -31,7 +31,12 @@ export default { workflowsAvailables: { type: Array, required: true, - } + }, + preventDefaultMoveToGenerate: { + type: Boolean, + required: false, + default: false, + }, }, emits: ['goToGenerateWorkflow'], methods: { @@ -39,6 +44,12 @@ export default { return buildLinkCreate(workflowName, this.relatedEntityClass, this.relatedEntityId); }, goToGenerateWorkflow(event, workflowName) { + console.log('goToGenerateWorkflow', event, workflowName); + + if (!this.$props.preventDefaultMoveToGenerate) { + event.target.click(); + } + this.$emit('goToGenerateWorkflow', {event, workflowName, link: this.makeLink(workflowName)}); } } diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue index c88de825b..f9d1a747c 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/App.vue @@ -251,6 +251,7 @@ relatedEntityClass="Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork" :relatedEntityId="this.work.id" :workflowsAvailables="this.work.workflows_availables" + @go-to-generate-workflow="goToGenerateWorkflow" > @@ -284,6 +285,7 @@ import OnTheFly from 'ChillMainAssets/vuejs/OnTheFly/components/OnTheFly.vue'; import ListWorkflowModal from 'ChillMainAssets/vuejs/_components/EntityWorkflow/ListWorkflowModal.vue'; import PickWorkflow from 'ChillMainAssets/vuejs/_components/EntityWorkflow/PickWorkflow.vue'; import PersonText from 'ChillPersonAssets/vuejs/_components/Entity/PersonText.vue'; +import {buildLinkCreate} from 'ChillMainAssets/lib/entity-workflow/api.js'; const i18n = { messages: { @@ -334,7 +336,6 @@ export default { ListWorkflowModal, OnTheFly, PickWorkflow, - OnTheFly, PersonText, }, i18n, @@ -461,6 +462,15 @@ export default { removeThirdParty(t) { this.$store.commit('removeThirdParty', t); }, + goToGenerateWorkflow({link}) { + console.log('save before leave to generate workflow') + const callback = (data) => { + window.location.assign(link); + }; + + return this.$store.dispatch('submit', callback) + .catch(e => { console.log(e); throw e; }); + }, submit() { this.$store.dispatch('submit'); }, diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/AddEvaluation.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/AddEvaluation.vue index 08cb6b3e6..faf4b0ed0 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/AddEvaluation.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/AddEvaluation.vue @@ -10,16 +10,16 @@