diff --git a/frontend/src/views/InstructionPage/DecisionTab.vue b/frontend/src/views/InstructionPage/DecisionTab.vue index 29db4c70..79e61802 100644 --- a/frontend/src/views/InstructionPage/DecisionTab.vue +++ b/frontend/src/views/InstructionPage/DecisionTab.vue @@ -72,7 +72,21 @@ v-model="comment" /> - + +
+
+

+ + La déclaration ne peut pas être validée en nécessitant une saisine ANSEES. Merci de changer l'article + avant de la valider. +

+ +
{{ firstErrorMsg(v$, "reasons") }}
@@ -90,6 +104,7 @@ import { useFetch } from "@vueuse/core" import { headers } from "@/utils/data-fetching" import useToaster from "@/composables/use-toaster" import { handleError } from "@/utils/error-handling" +import ArticleInfoRow from "@/components/DeclarationSummary/ArticleInfoRow" const decisionCategory = ref(null) watch(decisionCategory, () => (proposal.value = decisionCategory.value === "approve" ? "autorisation" : null)) @@ -125,6 +140,8 @@ watch(proposal, (newProposal) => { else delayDays.value = 15 }) +const needsAnsesReferal = computed(() => declaration.value?.article === "ANSES_REFERAL") + const decisionCategories = [ { value: "approve", diff --git a/frontend/src/views/VisaPage/VisaValidationTab.vue b/frontend/src/views/VisaPage/VisaValidationTab.vue index 7f25860e..ad8cdb92 100644 --- a/frontend/src/views/VisaPage/VisaValidationTab.vue +++ b/frontend/src/views/VisaPage/VisaValidationTab.vue @@ -41,8 +41,14 @@

{{ decision.description }}

-
- + +
+
@@ -57,6 +63,7 @@ import { useFetch } from "@vueuse/core" import { handleError } from "@/utils/error-handling" import useToaster from "@/composables/use-toaster" import VisaInfoLine from "./VisaInfoLine.vue" +import ArticleInfoRow from "@/components/DeclarationSummary/ArticleInfoRow" const $externalResults = ref({}) const emit = defineEmits(["decision-done"]) @@ -91,16 +98,22 @@ const acceptVisa = async () => { emit("decision-done") } } - +const needsAnsesReferal = computed(() => declaration.value?.article === "ANSES_REFERAL") +const shouldBlockApproval = computed( + () => needsAnsesReferal.value && declaration.value.postValidationStatus === "AUTHORIZED" +) const decisionCategories = computed(() => { return [ { title: "Je valide cette décision", icon: "ri-checkbox-circle-fill", iconColor: "green", - description: "Je vise cette déclaration et signe.", + description: shouldBlockApproval.value + ? "La déclaration ne peut pas être autorisée en nécessitant une saisine ANSEES." + : "Je vise cette déclaration et signe.", buttonText: "Valider", buttonHandler: acceptVisa, + blockedByAnses: shouldBlockApproval.value, }, { title: "Je ne suis pas d'accord",