Skip to content

Commit

Permalink
Merge branch 'staging' into 1384-transaction-not-allowed
Browse files Browse the repository at this point in the history
  • Loading branch information
alemangui committed Dec 27, 2024
2 parents f26ba94 + f948904 commit 3a72126
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 37 deletions.
28 changes: 28 additions & 0 deletions api/tests/test_snapshot.py
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,34 @@ def test_snapshot_hide_visa_to_declarants(self):
self.assertEqual(body[0]["id"], snapshot.id)
self.assertEqual(body[0]["comment"], snapshot.comment)

@authenticate
def test_snapshot_show_visa_approval_to_declarants(self):
declarant_role = DeclarantRoleFactory(user=authenticate.user)
company = declarant_role.company

# Une déclaration avec toutes les conditions nécessaires pour l'instruction
declaration = InstructionReadyDeclarationFactory(author=authenticate.user, company=company)
snapshot = SnapshotFactory(
declaration=declaration, user=authenticate.user, action=Snapshot.SnapshotActions.SUBMIT
)
SnapshotFactory(declaration=declaration, user=authenticate.user, action=Snapshot.SnapshotActions.REQUEST_VISA)
visa_accept_snapshot = SnapshotFactory(
declaration=declaration, user=authenticate.user, action=Snapshot.SnapshotActions.ACCEPT_VISA
)

# On obtient les snapshots liés à cette déclaration. Cet user n'est pas viseur ni instructeur,
# mais la validation du visa doit être communiqué

response = self.client.get(reverse("api:declaration_snapshots", kwargs={"pk": declaration.id}))
self.assertEqual(response.status_code, status.HTTP_200_OK)
body = response.json()
self.assertEqual(len(body), 2)
self.assertEqual(body[0]["id"], snapshot.id)
self.assertEqual(body[0]["comment"], snapshot.comment)

self.assertEqual(body[1]["id"], visa_accept_snapshot.id)
self.assertEqual(body[1]["comment"], visa_accept_snapshot.comment)

@authenticate
def test_snapshot_hide_visa_to_supervisors(self):
supervision_role = SupervisorRoleFactory(user=authenticate.user)
Expand Down
1 change: 0 additions & 1 deletion api/views/snapshot.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ def get_queryset(self):
action__in=[
Snapshot.SnapshotActions.REQUEST_VISA,
Snapshot.SnapshotActions.TAKE_FOR_VISA,
Snapshot.SnapshotActions.ACCEPT_VISA,
Snapshot.SnapshotActions.REFUSE_VISA,
]
)
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import AppHeader from "@/components/AppHeader.vue"
const route = useRoute()
const { messages, removeMessage } = useToaster()
const logoText = ["Ministère", "de l’Agriculture", "de la Souveraineté", "Alimentaire et de la forêt"]
const logoText = ["Ministère", "de l’Agriculture", "et de la Souveraineté", "Alimentaire"]
watch(route, (to) => {
const suffix = "Compl'Alim"
Expand Down
26 changes: 15 additions & 11 deletions frontend/src/components/DeclarationSummary/SummaryElementList.vue
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
<template>
<div v-if="elements.length">
<!-- Affichage avec les accordéons : les ingrédients sont cachés à l'intérieur -->
<DsfrAccordion v-if="useAccordions">
<template v-slot:title>
<SummaryElementListTitle :objectType="objectType" :elementCount="`${elements.length}`" />
</template>
<SummaryElementListItems
:showElementAuthorization="showElementAuthorization"
:objectType="objectType"
:elements="elements"
/>
</DsfrAccordion>

<DsfrAccordionsGroup v-if="useAccordions" v-model="activeAccordion">
<DsfrAccordion>
<template v-slot:title>
<SummaryElementListTitle :objectType="objectType" :elementCount="`${elements.length}`" />
</template>
<SummaryElementListItems
:showElementAuthorization="showElementAuthorization"
:objectType="objectType"
:elements="elements"
/>
</DsfrAccordion>
</DsfrAccordionsGroup>
<!-- Affichage sans les accordéons, tous les ingrédients sont affichés -->
<div v-else>
<SummaryElementListTitle class="mt-6 mb-3" :objectType="objectType" />
Expand All @@ -25,6 +26,7 @@
</template>

<script setup>
import { ref } from "vue"
import SummaryElementListTitle from "./SummaryElementListTitle"
import SummaryElementListItems from "./SummaryElementListItems"
Expand All @@ -34,4 +36,6 @@ defineProps({
useAccordions: { type: Boolean },
showElementAuthorization: { type: Boolean },
})
const activeAccordion = ref()
</script>
33 changes: 16 additions & 17 deletions frontend/src/views/CGUPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
</p>
<h2>Présentation</h2>
<p>
« Compl'Alim » (ci-après dénommé « le Service ») est mis en œuvre par le ministère de l’Agriculture, de la
Souveraineté Alimentaire et de la Forêt qui s’appuie sur l’expertise de la Direction interministérielle du
numérique dans le cadre d’une délégation de gestion.
« Compl'Alim » (ci-après dénommé « le Service ») est mis en œuvre par le ministère de l’Agriculture et de la
Souveraineté Alimentaire qui s’appuie sur l’expertise de la Direction interministérielle du numérique dans le
cadre d’une délégation de gestion.
</p>
<p>
Le Service est destiné à accompagner les acteurs du secteur des compléments alimentaires (ci-après abrégé « CA »)
Expand All @@ -33,7 +33,7 @@
<h2>Mentions légales</h2>
<ul>
<li>Éditeur : L'Incubateur de services numériques de la Direction Interministérielle du Numérique (DINUM).</li>
<li>Directeur de la publication : Ministère de l’Agriculture, de la Souveraineté Alimentaire et de la Forêt.</li>
<li>Directeur de la publication : Ministère de l’Agriculture et de la Souveraineté Alimentaire.</li>
<li>Prestataire d'hébergement : Clevercloud, 3 rue de l'Allier, 44000 Nantes, France.</li>
</ul>
<p>
Expand Down Expand Up @@ -73,14 +73,14 @@
conservées jusqu’à la fin de fonctionnement du Service, notamment pour répondre aux besoins statistiques.
</p>
<p>
Le ministère de l’Agriculture, de la Souveraineté Alimentaire et de la Forêt s'engage à prendre toutes précautions
utiles pour préserver la sécurité des données collectées auprès de l'usager, et notamment empêcher qu'elles soient
déformées et endommagées ou que des tiers non autorisés y aient accès.
Le ministère de l’Agriculture et de la Souveraineté Alimentaire s'engage à prendre toutes précautions utiles pour
préserver la sécurité des données collectées auprès de l'usager, et notamment empêcher qu'elles soient déformées
et endommagées ou que des tiers non autorisés y aient accès.
</p>
<p>
Le ministère de l’Agriculture, de la Souveraineté Alimentaire et de la Forêt garantit aux usagers du Service les
droits d'accès, de rectification et d'opposition sur leurs données à caractère personnel, prévus par la loi n°
78-17 du 6 janvier 1978 relative à l'informatique aux fichiers et aux libertés.
Le ministère de l’Agriculture et de la Souveraineté Alimentaire garantit aux usagers du Service les droits
d'accès, de rectification et d'opposition sur leurs données à caractère personnel, prévus par la loi n° 78-17 du 6
janvier 1978 relative à l'informatique aux fichiers et aux libertés.
</p>
<p>
Pour plus d’informations sur le traitement des données à caractère personnel l’utilisateur est invité à se référer
Expand Down Expand Up @@ -123,20 +123,19 @@
<p>
Le Service est développé conformément à l’état de l’art. Toutefois, il n’est pas garanti qu’il soit exempt
d’anomalies ou d'erreurs. Le service est donc mis à disposition sans garantie sur sa disponibilité et ses
performances. A ce titre, le ministère de l’Agriculture, de la Souveraineté Alimentaire et de la Forêt ne peut
être tenu responsable des pertes et/ou préjudices, de quelque nature qu’ils soient, qui pourraient être causés à
la suite d’un dysfonctionnement ou une indisponibilité du service. De telles situations n'ouvriront droit à aucune
performances. A ce titre, le ministère de l’Agriculture et de la Souveraineté Alimentaire ne peut être tenu
responsable des pertes et/ou préjudices, de quelque nature qu’ils soient, qui pourraient être causés à la suite
d’un dysfonctionnement ou une indisponibilité du service. De telles situations n'ouvriront droit à aucune
compensation financière.
</p>
<p>
L’utilisateur s’engage à respecter les présentes CGU et la législation en vigueur. Il s’engage notamment à ne
fournir, dans le cadre de l'utilisation du Service, que des informations exactes, à jour et complètes.
</p>
<p>
Dans l'hypothèse où l'usager ne s'acquitte pas de ses engagements, le ministère de l’Agriculture, de la
Souveraineté Alimentaire et de la Forêt se réserve le droit de suspendre ou résilier le service pour cet usager
sans préjudice des éventuelles actions en responsabilité pénale et civile qui pourraient être engagées à son
encontre.
Dans l'hypothèse où l'usager ne s'acquitte pas de ses engagements, le ministère de l’Agriculture et de la
Souveraineté Alimentaire se réserve le droit de suspendre ou résilier le service pour cet usager sans préjudice
des éventuelles actions en responsabilité pénale et civile qui pourraient être engagées à son encontre.
</p>
<h2>Modification et évolution du Service</h2>
<p>
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/LegalNoticesPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<h2>Directeur de la publication</h2>
<address>
<p>
Ministère de l’Agriculture, de la Souveraineté Alimentaire et de la Forêt
Ministère de l’Agriculture et de la Souveraineté Alimentaire
<br />
Direction Générale de l’Alimentation
<br />
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/views/PrivacyPolicyPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<h1>Politique de confidentialité</h1>
<h2>Traitement des données à caractère personnel</h2>
<p>
La présente plateforme Compl'Alim est à l’initiative du Ministère de l’Agriculture, de la Souveraineté Alimentaire
et de la Forêt (Direction Générale de l’Alimentation), qui est responsable de traitement des données à caractère
La présente plateforme Compl'Alim est à l’initiative du Ministère de l’Agriculture et de la Souveraineté
Alimentaire (Direction Générale de l’Alimentation), qui est responsable de traitement des données à caractère
personnel collectées par la plateforme.
</p>
<h2>Finalités</h2>
Expand Down Expand Up @@ -156,7 +156,7 @@
<p>Par voie postale :</p>
<address>
<p>
Ministère de l’Agriculture, de la Souveraineté Alimentaire et de la Forêt
Ministère de l’Agriculture et de la Souveraineté Alimentaire
<br />
Direction Générale de l’Alimentation
<br />
Expand Down
6 changes: 3 additions & 3 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified web/static/images/certificate/masa.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3a72126

Please sign in to comment.