Skip to content

Commit 1467213

Browse files
authored
Merge pull request #3468 from betagouv/unknown-responses
Faire le difference entre les questions "non" et "inconnu" dans les synthèses
2 parents 7c6cfaf + 2f39b64 commit 1467213

5 files changed

Lines changed: 143 additions & 44 deletions

File tree

frontend/src/components/DiagnosticSummary/DiversificationMeasureSummary.vue

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
</div>
1616
</li>
1717
<li v-else>
18-
<v-icon color="primary" class="mr-2">$close-line</v-icon>
18+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
1919
<div>
2020
Je n'ai pas renseigné la périodicité du menu végétarien dans ma cantine
2121
</div>
@@ -30,7 +30,7 @@
3030
</div>
3131
</li>
3232
<li v-else>
33-
<v-icon color="primary" class="mr-2">$close-line</v-icon>
33+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
3434
<div>
3535
Je n'ai pas renseigné le type de menu végétarien servi dans ma cantine
3636
</div>
@@ -50,38 +50,47 @@
5050
</div>
5151
</li>
5252
<li v-else>
53-
<v-icon color="primary" class="mr-2">$close-line</v-icon>
53+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
5454
<div>
5555
Je n'ai pas renseigné les bases utilisées pour mon menu végétarien
5656
</div>
5757
</li>
5858
</div>
5959

60-
<li v-if="displayDiversificationPlanSegment && diagnostic.hasDiversificationPlan">
61-
<v-icon color="primary" class="mr-2">$check-line</v-icon>
62-
<div>
63-
J'ai mis en place un plan pluriannuel de diversification des protéines incluant des alternatives à base de
64-
protéines végétales
65-
<ul role="list" class="mt-2" v-if="appliedDiversificationActions && appliedDiversificationActions.length">
66-
<li class="fr-text-xs mb-1" v-for="action in appliedDiversificationActions" :key="action">
67-
{{ action }}
68-
</li>
69-
</ul>
70-
</div>
71-
</li>
72-
<li v-else-if="displayDiversificationPlanSegment">
73-
<v-icon color="primary" class="mr-2">$close-line</v-icon>
74-
<div>
75-
Je n'ai pas mis en place un plan pluriannuel de diversification des protéines incluant des alternatives à base
76-
de protéines végétales
77-
</div>
60+
<li v-if="displayDiversificationPlanSegment">
61+
<span v-if="diagnostic.hasDiversificationPlan">
62+
<v-icon color="primary" class="mr-1">$check-line</v-icon>
63+
<span>
64+
J'ai mis en place un plan pluriannuel de diversification des protéines incluant des alternatives à base de
65+
protéines végétales
66+
<ul role="list" class="mt-2" v-if="appliedDiversificationActions && appliedDiversificationActions.length">
67+
<li class="fr-text-xs mb-1" v-for="action in appliedDiversificationActions" :key="action">
68+
{{ action }}
69+
</li>
70+
</ul>
71+
</span>
72+
</span>
73+
<span v-else-if="diagnosticUsesNullAsFalse || diagnostic.hasDiversificationPlan === false">
74+
<v-icon color="primary" class="mr-1">$close-line</v-icon>
75+
<span>
76+
Je n'ai pas mis en place un plan pluriannuel de diversification des protéines incluant des alternatives à
77+
base de protéines végétales
78+
</span>
79+
</span>
80+
<span v-else>
81+
<v-icon color="primary" class="mr-1">$question-line</v-icon>
82+
<span>
83+
Avez-vous mis en place un plan pluriannuel de diversification des protéines incluant des alternatives à base
84+
de protéines végétales ?
85+
</span>
86+
</span>
7887
</li>
7988
</ul>
8089
</div>
8190
</template>
8291

8392
<script>
84-
import { applicableDiagnosticRules, selectListToObject } from "@/utils"
93+
import { applicableDiagnosticRules, selectListToObject, diagnosticUsesNullAsFalse } from "@/utils"
8594
import Constants from "@/constants"
8695
8796
export default {
@@ -114,6 +123,9 @@ export default {
114123
if (!this.diagnostic.diversificationPlanActions?.length) return null
115124
return this.diagnostic.diversificationPlanActions.map((x) => diversificationPlanActions[x]).filter((x) => !!x)
116125
},
126+
diagnosticUsesNullAsFalse() {
127+
return diagnosticUsesNullAsFalse(this.diagnostic)
128+
},
117129
},
118130
}
119131
</script>

frontend/src/components/DiagnosticSummary/InformationMeasureSummary.vue

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,20 @@
1111
</div>
1212
</div>
1313
</li>
14-
<li v-else>
14+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.communicatesOnFoodQuality === false">
1515
<v-icon color="primary" class="mr-2">$close-line</v-icon>
1616
<div>
1717
Je n’informe pas mes convives sur la part de produits de qualité et durables, entrant dans la composition des
1818
repas servis, ni sur les démarches d’acquisition de produits issus d'un PAT (projet alimentaire territorial)
1919
</div>
2020
</li>
21+
<li v-else>
22+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
23+
<div>
24+
Informez-vous vos convives sur la part de produits de qualité et durables, entrant dans la composition des
25+
repas servis, et sur les démarches d’acquisition de produits issus d'un PAT (projet alimentaire territorial) ?
26+
</div>
27+
</li>
2128

2229
<li v-if="communicationSupports">
2330
<v-icon color="primary" class="mr-2">$check-line</v-icon>
@@ -31,7 +38,7 @@
3138
</div>
3239
</li>
3340
<li v-else>
34-
<v-icon color="primary" class="mr-2">$close-line</v-icon>
41+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
3542
<div>
3643
Je n'ai pas renseigné les supports utilisés pour communiquer sur la qualité des approvisionnements
3744
</div>
@@ -43,12 +50,18 @@
4350
J'informe sur la qualité nutritionnelle des repas
4451
</div>
4552
</li>
46-
<li v-else>
53+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.communicatesOnFoodPlan === false">
4754
<v-icon color="primary" class="mr-2">$close-line</v-icon>
4855
<div>
4956
Je n'informe pas sur la qualité nutritionnelle des repas
5057
</div>
5158
</li>
59+
<li v-else>
60+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
61+
<div>
62+
Informez-vous vos convives sur la qualité nutritionnelle des repas ?
63+
</div>
64+
</li>
5265

5366
<li v-if="diagnostic.communicationSupportUrl">
5467
<v-icon color="primary" class="mr-2">$links-line</v-icon>
@@ -76,7 +89,7 @@
7689

7790
<script>
7891
import communicationSupports from "@/data/communication-supports.json"
79-
import { selectListToObject } from "@/utils"
92+
import { selectListToObject, diagnosticUsesNullAsFalse } from "@/utils"
8093
import Constants from "@/constants"
8194
8295
export default {
@@ -96,6 +109,9 @@ export default {
96109
...[this.diagnostic.otherCommunicationSupport],
97110
].filter((x) => !!x)
98111
},
112+
diagnosticUsesNullAsFalse() {
113+
return diagnosticUsesNullAsFalse(this.diagnostic)
114+
},
99115
},
100116
}
101117
</script>

frontend/src/components/DiagnosticSummary/NoPlasticMeasureSummary.vue

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,61 +7,92 @@
77
Je n’utilise plus de contenants alimentaires de cuisson / de réchauffe en plastique
88
</div>
99
</li>
10-
<li v-else>
10+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.cookingPlasticSubstituted === false">
1111
<v-icon color="primary" class="mr-2">$close-line</v-icon>
1212
<div>
1313
J’utilise encore de contenants alimentaires de cuisson / de réchauffe en plastique
1414
</div>
1515
</li>
16+
<li v-else>
17+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
18+
<div>
19+
Avez-vous supprimé les contenants alimentaires de cuisson / de réchauffe en plastique ?
20+
</div>
21+
</li>
1622

1723
<li v-if="diagnostic.servingPlasticSubstituted">
1824
<v-icon color="primary" class="mr-2">$check-line</v-icon>
1925
<div>
2026
Je n’utilise plus de contenants alimentaires de service en plastique
2127
</div>
2228
</li>
23-
<li v-else>
29+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.servingPlasticSubstituted === false">
2430
<v-icon color="primary" class="mr-2">$close-line</v-icon>
2531
<div>
2632
J’utilise encore de contenants alimentaires de service en plastique
2733
</div>
2834
</li>
35+
<li v-else>
36+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
37+
<div>
38+
Avez-vous supprimé les contenants alimentaires de service en plastique ?
39+
</div>
40+
</li>
2941

3042
<li v-if="diagnostic.plasticBottlesSubstituted">
3143
<v-icon color="primary" class="mr-2">$check-line</v-icon>
3244
<div>
3345
Je ne mets plus à disposition des convives des bouteilles d’eau plate en plastique
3446
</div>
3547
</li>
36-
<li v-else>
48+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.plasticBottlesSubstituted === false">
3749
<v-icon color="primary" class="mr-2">$close-line</v-icon>
3850
<div>
3951
Je mets encore à disposition des convives des bouteilles d’eau plate en plastique
4052
</div>
4153
</li>
54+
<li v-else>
55+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
56+
<div>
57+
Avez-vous supprimé les bouteilles d’eau plate en plastique ?
58+
</div>
59+
</li>
4260

4361
<li v-if="diagnostic.plasticTablewareSubstituted">
4462
<v-icon color="primary" class="mr-2">$check-line</v-icon>
4563
<div>
4664
Je ne mets plus à disposition des convives des ustensiles à usage unique en matière plastique
4765
</div>
4866
</li>
49-
<li v-else>
67+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.plasticTablewareSubstituted === false">
5068
<v-icon color="primary" class="mr-2">$close-line</v-icon>
5169
<div>
5270
Je mets encore à disposition des convives des ustensiles à usage unique en matière plastique
5371
</div>
5472
</li>
73+
<li v-else>
74+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
75+
<div>
76+
Avez-vous supprimé les ustensiles à usage unique en matière plastique ?
77+
</div>
78+
</li>
5579
</ul>
5680
</div>
5781
</template>
5882

5983
<script>
84+
import { diagnosticUsesNullAsFalse } from "@/utils"
85+
6086
export default {
6187
name: "NoPlasticMeasureSummary",
6288
props: {
6389
diagnostic: {},
6490
},
91+
computed: {
92+
diagnosticUsesNullAsFalse() {
93+
return diagnosticUsesNullAsFalse(this.diagnostic)
94+
},
95+
},
6596
}
6697
</script>
6798

frontend/src/components/DiagnosticSummary/WasteMeasureSummary.vue

Lines changed: 48 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,41 @@
77
J’ai réalisé un diagnostic sur les causes probables de gaspillage alimentaire
88
</div>
99
</li>
10-
<li v-else>
10+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.hasWasteDiagnostic === false">
1111
<v-icon color="primary" class="mr-2">$close-line</v-icon>
1212
<div>
1313
Je n’ai pas encore réalisé un diagnostic sur les causes probables de gaspillage alimentaire
1414
</div>
1515
</li>
16-
17-
<li v-if="diagnostic.hasWastePlan">
18-
<v-icon color="primary" class="mr-2">$check-line</v-icon>
19-
<div>
20-
J’ai mis en place un plan d’action adapté au diagnostic réalisé
21-
</div>
22-
</li>
2316
<li v-else>
24-
<v-icon color="primary" class="mr-2">$close-line</v-icon>
17+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
2518
<div>
26-
Je n’ai pas encore mis en place un plan d’action adapté au diagnostic réalisé
19+
Avez-vous réalisé un diagnostic sur les causes probables de gaspillage alimentaire ?
2720
</div>
2821
</li>
2922

23+
<!-- if they have a waste diagnostic, do they have a waste plan? -->
24+
<li v-if="diagnostic.hasWasteDiagnostic">
25+
<span v-if="diagnostic.hasWastePlan">
26+
<v-icon color="primary" class="mr-1">$check-line</v-icon>
27+
<span>
28+
J’ai mis en place un plan d’action adapté au diagnostic réalisé
29+
</span>
30+
</span>
31+
<span v-else-if="diagnosticUsesNullAsFalse || diagnostic.hasWastePlan === false">
32+
<v-icon color="primary" class="mr-1">$close-line</v-icon>
33+
<span>
34+
Je n’ai pas encore mis en place un plan d’action adapté au diagnostic réalisé
35+
</span>
36+
</span>
37+
<span v-else>
38+
<v-icon color="primary" class="mr-1">$question-line</v-icon>
39+
<span>
40+
Avez-vous mis en place un plan d’action adapté au diagnostic réalisé ?
41+
</span>
42+
</span>
43+
</li>
44+
3045
<li v-if="diagnostic.hasWasteMeasures">
3146
<v-icon color="primary" class="mr-2">$check-line</v-icon>
3247
<div>
@@ -39,13 +54,18 @@
3954
</ul>
4055
</div>
4156
</li>
42-
43-
<li v-else>
57+
<li v-else-if="diagnosticUsesNullAsFalse || diagnostic.hasWasteMeasures === false">
4458
<v-icon color="primary" class="mr-2">$close-line</v-icon>
4559
<div>
4660
Je n’ai pas encore réalisé des mesures de mon gaspillage alimentaire
4761
</div>
4862
</li>
63+
<li v-else>
64+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
65+
<div>
66+
Avez-vous réalisé des mesures de votre gaspillage alimentaire ?
67+
</div>
68+
</li>
4969

5070
<li v-if="appliedWasteActions">
5171
<v-icon color="primary" class="mr-2">$check-line</v-icon>
@@ -78,13 +98,24 @@
7898
</div>
7999
</li>
80100

81-
<li v-else-if="displayDonationAgreementSegment">
101+
<li
102+
v-else-if="
103+
displayDonationAgreementSegment && (diagnosticUsesNullAsFalse || diagnostic.hasDonationAgreement === false)
104+
"
105+
>
82106
<v-icon color="primary" class="mr-2">$close-line</v-icon>
83107
<div>
84108
Je ne propose pas de convention de dons à des associations habilitées d’aide alimentaire
85109
</div>
86110
</li>
87111

112+
<li v-else-if="displayDonationAgreementSegment">
113+
<v-icon color="primary" class="mr-2">$question-line</v-icon>
114+
<div>
115+
Proposez-vous une convention de dons à des associations habilitées d’aide alimentaire ?
116+
</div>
117+
</li>
118+
88119
<li v-if="canteen.reservationExpeParticipant">
89120
<v-icon color="primary" class="mr-2">$check-line</v-icon>
90121
<div>
@@ -107,7 +138,7 @@
107138

108139
<script>
109140
import wasteActions from "@/data/waste-actions.json"
110-
import { applicableDiagnosticRules } from "@/utils"
141+
import { applicableDiagnosticRules, diagnosticUsesNullAsFalse } from "@/utils"
111142
112143
export default {
113144
name: "WasteMeasureSummary",
@@ -160,6 +191,9 @@ export default {
160191
{ label: "Type de denrées données", value: d.donationFoodType ? `${d.donationFoodType}` : "" },
161192
]
162193
},
194+
diagnosticUsesNullAsFalse() {
195+
return diagnosticUsesNullAsFalse(this.diagnostic)
196+
},
163197
},
164198
}
165199

frontend/src/utils.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,3 +689,9 @@ export const readyToTeledeclare = (canteen, diagnostic, sectors) => {
689689
!missingCanteenData(canteen, sectors)
690690
)
691691
}
692+
693+
// for diagnostics created before the redesign launched in 2024, many null values
694+
// were interpreted as false. Since then, we ask for an explicit false value.
695+
export const diagnosticUsesNullAsFalse = (diagnostic) => {
696+
return diagnostic.year < 2023
697+
}

0 commit comments

Comments
 (0)