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: