diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/DocumentsList.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/DocumentsList.vue index 1e32faf6b..6df7e1129 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/DocumentsList.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/DocumentsList.vue @@ -129,7 +129,7 @@ {{ trans(EVALUATION_DOCUMENT_DUPLICATE_TO_OTHER_WORK) }}{{ trans(EVALUATION_DOCUMENT_DUPLICATE_TO_OTHER_EVALUATION) }} @@ -183,7 +183,7 @@ import { EVALUATION_DOCUMENTS, EVALUATION_DOCUMENT_DUPLICATE, EVALUATION_DOCUMENT_DUPLICATE_HERE, - EVALUATION_DOCUMENT_DUPLICATE_TO_OTHER_WORK, + EVALUATION_DOCUMENT_DUPLICATE_TO_OTHER_EVALUATION, trans, } from "translator"; import { ref, watch } from "vue"; diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/FormEvaluation.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/FormEvaluation.vue index 3d922d39e..d6e89403d 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/FormEvaluation.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/components/FormEvaluation.vue @@ -52,9 +52,7 @@ import TimeSpentInput from "./TimeSpentInput.vue"; import CommentInput from "./CommentInput.vue"; import DocumentsList from "./DocumentsList.vue"; import DocumentActions from "./DocumentActions.vue"; -import { makeFetch } from "ChillMainAssets/lib/api/apiMethods"; import { useToast } from "vue-toast-notification"; -import { DOCUMENT_DUPLICATE_TO_EVALUATION_SUCCESS, trans } from "translator"; const props = defineProps(["evaluation", "docAnchorId"]); const store = useStore(); @@ -242,17 +240,10 @@ function duplicateDocument(document) { } function duplicateDocumentToEvaluation({ evaluation, document }) { - const url = `/api/1.0/person/accompanying-course-work-evaluation-document/${document.id}/evaluation/${evaluation.id}/duplicate`; - // console.log('document id', document.id, 'evaluation id', evaluation.id) - - makeFetch("POST", url) - .then((response) => { - console.log("new document", response); - toast.open({ message: trans(DOCUMENT_DUPLICATE_TO_EVALUATION_SUCCESS) }); - }) - .catch((error) => { - console.log(error); - }); + store.dispatch("duplicateDocumentToEvaluation", { + evaluation: evaluation, + document: document, + }); } function onStatusDocumentChanged(newStatus) { diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/store.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/store.js index e2105f314..e3d5cc454 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/store.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourseWorkEdit/store.js @@ -11,7 +11,7 @@ import { findSocialActionsBySocialIssue } from "ChillPersonAssets/vuejs/_api/Soc import { create } from "ChillPersonAssets/vuejs/_api/AccompanyingCourseWork.js"; import { fetchResults, makeFetch } from "ChillMainAssets/lib/api/apiMethods.ts"; import { fetchTemplates } from "ChillDocGeneratorAssets/api/pickTemplate.js"; -import { duplicate } from "../_api/accompanyingCourseWorkEvaluationDocument"; +import { duplicate, duplicateDocumentToEvaluation } from "../_api/accompanyingCourseWorkEvaluationDocument"; const debug = process.env.NODE_ENV !== "production"; const evalFQDN = encodeURIComponent( @@ -302,6 +302,13 @@ const store = createStore({ document.key = evaluation.documents.length + 1; evaluation.documents.splice(0, 0, document); }, + addDuplicatedDocumentToEvaluation(state, { document, evaluation }) { + let evaluationDest = state.evaluationsPicked.find( + (e) => e.id === evaluation.id, + ); + document.key = evaluationDest.documents.length + 1; + evaluationDest.documents.splice(0, 0, document); + }, /** * Replaces a document in the state with a new document. * @@ -598,6 +605,10 @@ const store = createStore({ const newDoc = await duplicate(document.id); commit("addDuplicatedDocument", { document: newDoc, evaluation_key }); }, + async duplicateDocumentToEvaluation({ commit }, { document, evaluation }) { + const newDoc = await duplicateDocumentToEvaluation(document.id, evaluation.id); + commit("addDuplicatedDocumentToEvaluation", { document: newDoc, evaluation }); + }, removeDocument({ commit }, payload) { commit("removeDocument", payload); }, diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_api/accompanyingCourseWorkEvaluationDocument.ts b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_api/accompanyingCourseWorkEvaluationDocument.ts index 577c4b52b..02df053ac 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_api/accompanyingCourseWorkEvaluationDocument.ts +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_api/accompanyingCourseWorkEvaluationDocument.ts @@ -9,3 +9,13 @@ export const duplicate = async ( `/api/1.0/person/accompanying-course-work-evaluation-document/${id}/duplicate`, ); }; + +export const duplicateDocumentToEvaluation = async ( + document_id: number, + evaluation_id: number, +): Promise => { + return makeFetch( + "POST", + `/api/1.0/person/accompanying-course-work-evaluation-document/${document_id}/evaluation/${evaluation_id}/duplicate`, + ); +}; diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index dc8f5f744..f250da20e 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -775,7 +775,7 @@ evaluation: document: duplicate: Dupliquer duplicate_here: Dupliquer ici - duplicate_to_other_work: Dupliquer vers un autre actions d'accompagnement + duplicate_to_other_evaluation: Dupliquer vers une autre évaluation goal: