mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-23 23:25:00 +00:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
ab98f3a102
|
|||
7516e68d77 | |||
7b60b7a8af | |||
d984dec7db
|
|||
46a4dedab8 | |||
db98519e65 |
3
.changes/v4.4.1.md
Normal file
3
.changes/v4.4.1.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v4.4.1 - 2025-09-11
|
||||||
|
### Fixed
|
||||||
|
* fix translations in duplicate evaluation document modal and realign close modal button
|
3
.changes/v4.4.2.md
Normal file
3
.changes/v4.4.2.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v4.4.2 - 2025-09-12
|
||||||
|
### Fixed
|
||||||
|
* Fix document generation and workflow generation do not work on accompanying period work documents
|
@@ -6,6 +6,14 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|||||||
and is generated by [Changie](https://github.com/miniscruff/changie).
|
and is generated by [Changie](https://github.com/miniscruff/changie).
|
||||||
|
|
||||||
|
|
||||||
|
## v4.4.2 - 2025-09-12
|
||||||
|
### Fixed
|
||||||
|
* Fix document generation and workflow generation do not work on accompanying period work documents
|
||||||
|
|
||||||
|
## v4.4.1 - 2025-09-11
|
||||||
|
### Fixed
|
||||||
|
* fix translations in duplicate evaluation document modal and realign close modal button
|
||||||
|
|
||||||
## v4.4.0 - 2025-09-11
|
## v4.4.0 - 2025-09-11
|
||||||
### Feature
|
### Feature
|
||||||
* ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works
|
* ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works
|
||||||
|
@@ -4,7 +4,7 @@ import { StoredObject, StoredObjectVersion } from "../../types";
|
|||||||
import DropFileWidget from "ChillDocStoreAssets/vuejs/DropFileWidget/DropFileWidget.vue";
|
import DropFileWidget from "ChillDocStoreAssets/vuejs/DropFileWidget/DropFileWidget.vue";
|
||||||
import { computed, reactive } from "vue";
|
import { computed, reactive } from "vue";
|
||||||
import { useToast } from "vue-toast-notification";
|
import { useToast } from "vue-toast-notification";
|
||||||
import { DOCUMENT_REPLACE, DOCUMENT_ADD, trans } from "translator";
|
import { DOCUMENT_ADD, trans } from "translator";
|
||||||
|
|
||||||
interface DropFileConfig {
|
interface DropFileConfig {
|
||||||
allowRemove: boolean;
|
allowRemove: boolean;
|
||||||
@@ -78,9 +78,7 @@ function closeModal(): void {
|
|||||||
>
|
>
|
||||||
{{ trans(DOCUMENT_ADD) }}
|
{{ trans(DOCUMENT_ADD) }}
|
||||||
</button>
|
</button>
|
||||||
<button v-else @click="openModal" class="dropdown-item">
|
<button v-else @click="openModal" class="btn btn-edit"></button>
|
||||||
{{ trans(DOCUMENT_REPLACE) }}
|
|
||||||
</button>
|
|
||||||
<modal
|
<modal
|
||||||
v-if="state.showModal"
|
v-if="state.showModal"
|
||||||
:modal-dialog-class="modalClasses"
|
:modal-dialog-class="modalClasses"
|
||||||
|
@@ -84,6 +84,8 @@ const emits = defineEmits<{
|
|||||||
}
|
}
|
||||||
.modal-header .close {
|
.modal-header .close {
|
||||||
border-top-right-radius: 0.3rem;
|
border-top-right-radius: 0.3rem;
|
||||||
|
margin-right: 0;
|
||||||
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* The following styles are auto-applied to elements with
|
* The following styles are auto-applied to elements with
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
role="button"
|
role="button"
|
||||||
data-bs-toggle="dropdown"
|
data-bs-toggle="dropdown"
|
||||||
aria-expanded="false">
|
aria-expanded="false">
|
||||||
<i class="fa fa-flash"></i>
|
<i class="bi bi-lightning-fill"></i>
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
{% for menu in menus %}
|
{% for menu in menus %}
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
:id="evaluation.id"
|
:id="evaluation.id"
|
||||||
:templates="templates"
|
:templates="templates"
|
||||||
:preventDefaultMoveToGenerate="true"
|
:preventDefaultMoveToGenerate="true"
|
||||||
@go-to-generate-document="$emit('submitBeforeGenerate', $event)"
|
@go-to-generate-document="submitBeforeGenerate"
|
||||||
>
|
>
|
||||||
<template v-slot:title>
|
<template v-slot:title>
|
||||||
<label class="col-form-label">{{
|
<label class="col-form-label">{{
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<drop-file-modal
|
<drop-file-modal
|
||||||
:allow-remove="false"
|
:allow-remove="false"
|
||||||
@add-document="$emit('addDocument', $event)"
|
@add-document="emit('addDocument', $event)"
|
||||||
></drop-file-modal>
|
></drop-file-modal>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -39,9 +39,34 @@ import {
|
|||||||
EVALUATION_GENERATE_A_DOCUMENT,
|
EVALUATION_GENERATE_A_DOCUMENT,
|
||||||
trans,
|
trans,
|
||||||
} from "translator";
|
} from "translator";
|
||||||
|
import { buildLink } from "ChillDocGeneratorAssets/lib/document-generator";
|
||||||
|
import { useStore } from "vuex";
|
||||||
|
|
||||||
defineProps(["evaluation", "templates"]);
|
const store = useStore();
|
||||||
defineEmits(["addDocument", "submitBeforeGenerate"]);
|
|
||||||
|
const props = defineProps(["evaluation", "templates"]);
|
||||||
|
const emit = defineEmits(["addDocument"]);
|
||||||
|
|
||||||
|
async function submitBeforeGenerate({ template }) {
|
||||||
|
const callback = (data) => {
|
||||||
|
let evaluationId = data.accompanyingPeriodWorkEvaluations.find(
|
||||||
|
(e) => e.key === props.evaluation.key,
|
||||||
|
).id;
|
||||||
|
|
||||||
|
window.location.assign(
|
||||||
|
buildLink(
|
||||||
|
template,
|
||||||
|
evaluationId,
|
||||||
|
"Chill\\PersonBundle\\Entity\\AccompanyingPeriod\\AccompanyingPeriodWorkEvaluation",
|
||||||
|
),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
return store.dispatch("submit", callback).catch((e) => {
|
||||||
|
console.log(e);
|
||||||
|
throw e;
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
@@ -58,7 +58,7 @@
|
|||||||
:preventDefaultMoveToGenerate="true"
|
:preventDefaultMoveToGenerate="true"
|
||||||
:goToGenerateWorkflowPayload="{ doc: d }"
|
:goToGenerateWorkflowPayload="{ doc: d }"
|
||||||
@go-to-generate-workflow="
|
@go-to-generate-workflow="
|
||||||
$emit('goToGenerateWorkflow', $event)
|
goToGenerateWorkflowEvaluationDocument
|
||||||
"
|
"
|
||||||
></list-workflow-modal>
|
></list-workflow-modal>
|
||||||
</li>
|
</li>
|
||||||
@@ -95,10 +95,9 @@
|
|||||||
<a
|
<a
|
||||||
class="dropdown-item"
|
class="dropdown-item"
|
||||||
@click="
|
@click="
|
||||||
$emit(
|
goToGenerateDocumentNotification(
|
||||||
'goToGenerateNotification',
|
|
||||||
d,
|
d,
|
||||||
true,
|
false,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
@@ -113,8 +112,7 @@
|
|||||||
<a
|
<a
|
||||||
class="dropdown-item"
|
class="dropdown-item"
|
||||||
@click="
|
@click="
|
||||||
$emit(
|
goToGenerateDocumentNotification(
|
||||||
'goToGenerateNotification',
|
|
||||||
d,
|
d,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
@@ -150,15 +148,35 @@
|
|||||||
"
|
"
|
||||||
></document-action-buttons-group>
|
></document-action-buttons-group>
|
||||||
</li>
|
</li>
|
||||||
|
<!--replace document-->
|
||||||
|
<li
|
||||||
|
v-if="
|
||||||
|
Number.isInteger(d.id) &&
|
||||||
|
d.storedObject._permissions.canEdit
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<drop-file-modal
|
||||||
|
:existing-doc="d.storedObject"
|
||||||
|
:allow-remove="false"
|
||||||
|
@add-document="
|
||||||
|
(arg) =>
|
||||||
|
replaceDocument(
|
||||||
|
d,
|
||||||
|
arg.stored_object,
|
||||||
|
arg.stored_object_version,
|
||||||
|
)
|
||||||
|
"
|
||||||
|
></drop-file-modal>
|
||||||
|
</li>
|
||||||
<li v-if="Number.isInteger(d.id)">
|
<li v-if="Number.isInteger(d.id)">
|
||||||
<div class="duplicate-dropdown">
|
<div class="duplicate-dropdown">
|
||||||
<button
|
<button
|
||||||
class="btn btn-edit dropdown-toggle"
|
class="btn btn-outline-primary dropdown-toggle"
|
||||||
type="button"
|
type="button"
|
||||||
data-bs-toggle="dropdown"
|
data-bs-toggle="dropdown"
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
>
|
>
|
||||||
{{ trans(EVALUATION_DOCUMENT_EDIT) }}
|
<i class="bi bi-lightning-fill"></i>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<!--delete-->
|
<!--delete-->
|
||||||
@@ -180,27 +198,6 @@
|
|||||||
}}
|
}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<!--replace document-->
|
|
||||||
<li
|
|
||||||
v-if="
|
|
||||||
d.storedObject._permissions
|
|
||||||
.canEdit
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<drop-file-modal
|
|
||||||
:existing-doc="d.storedObject"
|
|
||||||
:allow-remove="false"
|
|
||||||
@add-document="
|
|
||||||
(arg) =>
|
|
||||||
$emit(
|
|
||||||
'replaceDocument',
|
|
||||||
d,
|
|
||||||
arg.stored_object,
|
|
||||||
arg.stored_object_version,
|
|
||||||
)
|
|
||||||
"
|
|
||||||
></drop-file-modal>
|
|
||||||
</li>
|
|
||||||
<!--duplicate document-->
|
<!--duplicate document-->
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
@@ -300,35 +297,45 @@ import {
|
|||||||
EVALUATION_DOCUMENTS,
|
EVALUATION_DOCUMENTS,
|
||||||
EVALUATION_DOCUMENT_MOVE,
|
EVALUATION_DOCUMENT_MOVE,
|
||||||
EVALUATION_DOCUMENT_DELETE,
|
EVALUATION_DOCUMENT_DELETE,
|
||||||
EVALUATION_DOCUMENT_EDIT,
|
|
||||||
EVALUATION_DOCUMENT_DUPLICATE_HERE,
|
EVALUATION_DOCUMENT_DUPLICATE_HERE,
|
||||||
EVALUATION_DOCUMENT_DUPLICATE_TO_OTHER_EVALUATION,
|
EVALUATION_DOCUMENT_DUPLICATE_TO_OTHER_EVALUATION,
|
||||||
trans,
|
trans,
|
||||||
} from "translator";
|
} from "translator";
|
||||||
import { ref, watch } from "vue";
|
import { computed, ref, watch } from "vue";
|
||||||
import AccompanyingPeriodWorkSelectorModal from "ChillPersonAssets/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkSelectorModal.vue";
|
import AccompanyingPeriodWorkSelectorModal from "ChillPersonAssets/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkSelectorModal.vue";
|
||||||
|
import { buildLinkCreate } from "ChillMainAssets/lib/entity-workflow/api";
|
||||||
|
import { buildLinkCreate as buildLinkCreateNotification } from "ChillMainAssets/lib/entity-notification/api";
|
||||||
|
import { useStore } from "vuex";
|
||||||
|
|
||||||
defineProps([
|
const props = defineProps([
|
||||||
"documents",
|
"documents",
|
||||||
"docAnchorId",
|
"docAnchorId",
|
||||||
"accompanyingPeriodId",
|
"accompanyingPeriodId",
|
||||||
"accompanyingPeriodWorkId",
|
"evaluation",
|
||||||
]);
|
]);
|
||||||
const emit = defineEmits([
|
const emit = defineEmits([
|
||||||
"inputDocumentTitle",
|
"inputDocumentTitle",
|
||||||
"removeDocument",
|
"removeDocument",
|
||||||
"duplicateDocument",
|
"duplicateDocument",
|
||||||
"statusDocumentChanged",
|
"statusDocumentChanged",
|
||||||
"goToGenerateWorkflow",
|
|
||||||
"goToGenerateNotification",
|
|
||||||
"duplicateDocumentToWork",
|
"duplicateDocumentToWork",
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const store = useStore();
|
||||||
|
|
||||||
const showAccompanyingPeriodSelector = ref(false);
|
const showAccompanyingPeriodSelector = ref(false);
|
||||||
const selectedEvaluation = ref(null);
|
const selectedEvaluation = ref(null);
|
||||||
const selectedDocumentToDuplicate = ref(null);
|
const selectedDocumentToDuplicate = ref(null);
|
||||||
const selectedDocumentToMove = ref(null);
|
const selectedDocumentToMove = ref(null);
|
||||||
|
|
||||||
|
const AmIRefferer = computed(() => {
|
||||||
|
return !(
|
||||||
|
store.state.work.accompanyingPeriod.user &&
|
||||||
|
store.state.me &&
|
||||||
|
store.state.work.accompanyingPeriod.user.id !== store.state.me.id
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
const prepareDocumentDuplicationToWork = (d) => {
|
const prepareDocumentDuplicationToWork = (d) => {
|
||||||
selectedDocumentToDuplicate.value = d;
|
selectedDocumentToDuplicate.value = d;
|
||||||
/** ensure selectedDocumentToMove is null */
|
/** ensure selectedDocumentToMove is null */
|
||||||
@@ -358,4 +365,91 @@ watch(selectedEvaluation, (val) => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
async function goToGenerateWorkflowEvaluationDocument({
|
||||||
|
workflowName,
|
||||||
|
payload,
|
||||||
|
}) {
|
||||||
|
const callback = (data) => {
|
||||||
|
let evaluation = data.accompanyingPeriodWorkEvaluations.find(
|
||||||
|
(e) => e.key === props.evaluation.key,
|
||||||
|
);
|
||||||
|
let updatedDocument = evaluation.documents.find(
|
||||||
|
(d) => d.key === payload.doc.key,
|
||||||
|
);
|
||||||
|
window.location.assign(
|
||||||
|
buildLinkCreate(
|
||||||
|
workflowName,
|
||||||
|
"Chill\\PersonBundle\\Entity\\AccompanyingPeriod\\AccompanyingPeriodWorkEvaluationDocument",
|
||||||
|
updatedDocument.id,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
return store.dispatch("submit", callback).catch((e) => {
|
||||||
|
console.log(e);
|
||||||
|
throw e;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces a document in the store with a new document.
|
||||||
|
*
|
||||||
|
* @param {Object} oldDocument - The document to be replaced.
|
||||||
|
* @param {StoredObject} storedObject - The stored object of the new document.
|
||||||
|
* @param {StoredObjectVersion} storedObjectVersion - The new version of the document
|
||||||
|
* @return {void}
|
||||||
|
*/
|
||||||
|
async function replaceDocument(oldDocument, storedObject, storedObjectVersion) {
|
||||||
|
let document = {
|
||||||
|
type: "accompanying_period_work_evaluation_document",
|
||||||
|
storedObject: storedObject,
|
||||||
|
title: oldDocument.title,
|
||||||
|
};
|
||||||
|
|
||||||
|
return store.commit("replaceDocument", {
|
||||||
|
key: props.evaluation.key,
|
||||||
|
document,
|
||||||
|
oldDocument: oldDocument,
|
||||||
|
stored_object_version: storedObjectVersion,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function goToGenerateDocumentNotification(document, tos) {
|
||||||
|
const callback = (data) => {
|
||||||
|
let evaluation = data.accompanyingPeriodWorkEvaluations.find(
|
||||||
|
(e) => e.key === props.evaluation.key,
|
||||||
|
);
|
||||||
|
let updatedDocument = evaluation.documents.find(
|
||||||
|
(d) => d.key === document.key,
|
||||||
|
);
|
||||||
|
window.location.assign(
|
||||||
|
buildLinkCreateNotification(
|
||||||
|
"Chill\\PersonBundle\\Entity\\AccompanyingPeriod\\AccompanyingPeriodWorkEvaluationDocument",
|
||||||
|
updatedDocument.id,
|
||||||
|
tos === true
|
||||||
|
? store.state.work.accompanyingPeriod.user?.id
|
||||||
|
: null,
|
||||||
|
window.location.pathname +
|
||||||
|
window.location.search +
|
||||||
|
window.location.hash,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
return store.dispatch("submit", callback).catch((e) => {
|
||||||
|
console.log(e);
|
||||||
|
throw e;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function submitBeforeLeaveToEditor() {
|
||||||
|
console.log("submit beore edit 2");
|
||||||
|
// empty callback
|
||||||
|
const callback = () => null;
|
||||||
|
return store.dispatch("submit", callback).catch((e) => {
|
||||||
|
console.log(e);
|
||||||
|
throw e;
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -24,8 +24,8 @@
|
|||||||
v-if="evaluation.documents.length > 0"
|
v-if="evaluation.documents.length > 0"
|
||||||
:documents="evaluation.documents"
|
:documents="evaluation.documents"
|
||||||
:docAnchorId="docAnchorId"
|
:docAnchorId="docAnchorId"
|
||||||
|
:evaluation="evaluation"
|
||||||
:accompanyingPeriodId="store.state.work.accompanyingPeriod.id"
|
:accompanyingPeriodId="store.state.work.accompanyingPeriod.id"
|
||||||
:accompanying-period-work-id="store.state.work.id"
|
|
||||||
@inputDocumentTitle="onInputDocumentTitle"
|
@inputDocumentTitle="onInputDocumentTitle"
|
||||||
@removeDocument="removeDocument"
|
@removeDocument="removeDocument"
|
||||||
@duplicateDocument="duplicateDocument"
|
@duplicateDocument="duplicateDocument"
|
||||||
@@ -34,7 +34,6 @@
|
|||||||
"
|
"
|
||||||
@move-document-to-evaluation="moveDocumentToEvaluation"
|
@move-document-to-evaluation="moveDocumentToEvaluation"
|
||||||
@statusDocumentChanged="onStatusDocumentChanged"
|
@statusDocumentChanged="onStatusDocumentChanged"
|
||||||
@goToGenerateWorkflow="goToGenerateWorkflowEvaluationDocument"
|
|
||||||
@goToGenerateNotification="goToGenerateDocumentNotification"
|
@goToGenerateNotification="goToGenerateDocumentNotification"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -42,7 +41,6 @@
|
|||||||
:evaluation="evaluation"
|
:evaluation="evaluation"
|
||||||
:templates="getTemplatesAvailables"
|
:templates="getTemplatesAvailables"
|
||||||
@addDocument="addDocument"
|
@addDocument="addDocument"
|
||||||
@submitBeforeGenerate="submitBeforeGenerate"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -290,29 +288,6 @@ function onStatusDocumentChanged(newStatus) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function goToGenerateWorkflowEvaluationDocument({ workflowName, payload }) {
|
|
||||||
const callback = (data) => {
|
|
||||||
let evaluation = data.accompanyingPeriodWorkEvaluations.find(
|
|
||||||
(e) => e.key === props.evaluation.key,
|
|
||||||
);
|
|
||||||
let updatedDocument = evaluation.documents.find(
|
|
||||||
(d) => d.key === payload.doc.key,
|
|
||||||
);
|
|
||||||
window.location.assign(
|
|
||||||
buildLinkCreate(
|
|
||||||
workflowName,
|
|
||||||
"Chill\\PersonBundle\\Entity\\AccompanyingPeriod\\AccompanyingPeriodWorkEvaluationDocument",
|
|
||||||
updatedDocument.id,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
store.dispatch("submit", callback).catch((e) => {
|
|
||||||
console.log(e);
|
|
||||||
throw e;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function goToGenerateDocumentNotification(document, tos) {
|
function goToGenerateDocumentNotification(document, tos) {
|
||||||
const callback = (data) => {
|
const callback = (data) => {
|
||||||
let evaluation = data.accompanyingPeriodWorkEvaluations.find(
|
let evaluation = data.accompanyingPeriodWorkEvaluations.find(
|
||||||
|
@@ -30,11 +30,7 @@
|
|||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<h3>
|
<h3>
|
||||||
{{
|
{{ getModalTitle() }}
|
||||||
trans(
|
|
||||||
ACPW_DUPLICATE_SELECT_ACCOMPANYING_PERIOD_WORK,
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
</h3>
|
</h3>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -73,6 +69,7 @@ import { AccompanyingPeriodWork } from "../../../types";
|
|||||||
import {
|
import {
|
||||||
trans,
|
trans,
|
||||||
ACPW_DUPLICATE_SELECT_ACCOMPANYING_PERIOD_WORK,
|
ACPW_DUPLICATE_SELECT_ACCOMPANYING_PERIOD_WORK,
|
||||||
|
ACPW_DUPLICATE_SELECT_AN_EVALUATION,
|
||||||
CONFIRM,
|
CONFIRM,
|
||||||
} from "translator";
|
} from "translator";
|
||||||
import { fetchResults } from "ChillMainAssets/lib/api/apiMethods";
|
import { fetchResults } from "ChillMainAssets/lib/api/apiMethods";
|
||||||
@@ -97,6 +94,11 @@ const emit = defineEmits<{
|
|||||||
"update:selectedEvaluation": [evaluation: AccompanyingPeriodWorkEvaluation];
|
"update:selectedEvaluation": [evaluation: AccompanyingPeriodWorkEvaluation];
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const getModalTitle = () =>
|
||||||
|
evaluations.value.length > 0
|
||||||
|
? trans(ACPW_DUPLICATE_SELECT_AN_EVALUATION)
|
||||||
|
: trans(ACPW_DUPLICATE_SELECT_ACCOMPANYING_PERIOD_WORK);
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if (props.accompanyingPeriodId) {
|
if (props.accompanyingPeriodId) {
|
||||||
getAccompanyingPeriodWorks(parseInt(props.accompanyingPeriodId));
|
getAccompanyingPeriodWorks(parseInt(props.accompanyingPeriodId));
|
||||||
@@ -106,6 +108,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
showModal.value = true;
|
showModal.value = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
const getAccompanyingPeriodWorks = async (periodId: number) => {
|
const getAccompanyingPeriodWorks = async (periodId: number) => {
|
||||||
const url = `/api/1.0/person/accompanying-course/${periodId}/works.json`;
|
const url = `/api/1.0/person/accompanying-course/${periodId}/works.json`;
|
||||||
|
|
||||||
|
@@ -786,8 +786,8 @@ evaluation:
|
|||||||
duplicate: Dupliquer
|
duplicate: Dupliquer
|
||||||
duplicate_here: Dupliquer ici
|
duplicate_here: Dupliquer ici
|
||||||
duplicate_to_other_evaluation: Dupliquer vers une autre évaluation
|
duplicate_to_other_evaluation: Dupliquer vers une autre évaluation
|
||||||
duplicate_success: Le document d'évaluation a été dupliquer
|
duplicate_success: Le document d'évaluation a été dupliqué
|
||||||
move_success: Le document d'évaluation a été déplacer
|
move_success: Le document d'évaluation a été déplacé
|
||||||
|
|
||||||
|
|
||||||
goal:
|
goal:
|
||||||
@@ -1543,7 +1543,8 @@ entity_display_title:
|
|||||||
acpw_duplicate:
|
acpw_duplicate:
|
||||||
title: Fusionner les actions d'accompagnement
|
title: Fusionner les actions d'accompagnement
|
||||||
description: Cette fusion conservera la date de début la plus ancienne, la date de fin la plus récente, toutes les évaluations, documents et workflows. Les agents traitants seront additionnés ainsi que les tiers intervenants. Les commentaires seront mis l'un à la suite de l'autre.
|
description: Cette fusion conservera la date de début la plus ancienne, la date de fin la plus récente, toutes les évaluations, documents et workflows. Les agents traitants seront additionnés ainsi que les tiers intervenants. Les commentaires seront mis l'un à la suite de l'autre.
|
||||||
Select accompanying period work: Selectionner un action d'accompagnement
|
Select accompanying period work: Sélectionner une action d'accompagnement
|
||||||
|
Select an evaluation: Sélectionner une évaluation
|
||||||
Assign duplicate: Désigner un action d'accompagnement doublon
|
Assign duplicate: Désigner un action d'accompagnement doublon
|
||||||
Accompanying period work to delete: Action d'accompagnement à supprimer
|
Accompanying period work to delete: Action d'accompagnement à supprimer
|
||||||
Accompanying period work to delete explanation: Cet action d'accompagnement sera supprimé.
|
Accompanying period work to delete explanation: Cet action d'accompagnement sera supprimé.
|
||||||
|
Reference in New Issue
Block a user