From 1ed9ac8690dc6bba0d58a9ff1dfafda804508ab2 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Mon, 8 Sep 2025 18:45:21 +0200 Subject: [PATCH] =?UTF-8?q?up=20templates=20p=C3=A9t=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/wiki_archived_proposals.html.twig | 10 ++-- wiki_compare/CHANGES_ARCHIVED_PROPOSALS.md | 54 +++++++++++++++++++ 2 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 wiki_compare/CHANGES_ARCHIVED_PROPOSALS.md diff --git a/templates/admin/wiki_archived_proposals.html.twig b/templates/admin/wiki_archived_proposals.html.twig index 7b6b1b0..ffa4c7f 100644 --- a/templates/admin/wiki_archived_proposals.html.twig +++ b/templates/admin/wiki_archived_proposals.html.twig @@ -189,7 +189,7 @@
-
{{ statistics.total_votes }}
+
{{ statistics.total_votes|default(0) }}
Votes au total
@@ -197,7 +197,7 @@
-
{{ statistics.avg_votes_per_proposal }}
+
{{ statistics.avg_votes_per_proposal|default(0) }}
Votes par proposition (moyenne)
Excluant les propositions sans votes
@@ -206,7 +206,7 @@
-
{{ statistics.unique_voters }}
+
{{ statistics.unique_voters|default(0) }}
Votants uniques
@@ -217,7 +217,7 @@
-
{{ statistics.median_votes_per_proposal }}
+
{{ statistics.median_votes_per_proposal|default(0) }}
Votes par proposition (médiane)
Excluant les propositions sans votes
@@ -226,7 +226,7 @@
-
{{ statistics.std_dev_votes_per_proposal }}
+
{{ statistics.std_dev_votes_per_proposal|default(0) }}
Votes par proposition (écart type)
Excluant les propositions sans votes
diff --git a/wiki_compare/CHANGES_ARCHIVED_PROPOSALS.md b/wiki_compare/CHANGES_ARCHIVED_PROPOSALS.md new file mode 100644 index 0000000..1854375 --- /dev/null +++ b/wiki_compare/CHANGES_ARCHIVED_PROPOSALS.md @@ -0,0 +1,54 @@ +# Correction des erreurs dans le template wiki_archived_proposals.html.twig + +## Description du problème + +Le template `admin/wiki_archived_proposals.html.twig` présentait plusieurs erreurs liées à l'accès à des clés qui n'existaient pas dans le tableau `statistics`. L'erreur principale était : + +``` +Key "total_votes" for sequence/mapping with keys "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99" does not exist in admin/wiki_archived_proposals.html.twig at line 192. +``` + +Cette erreur se produisait lorsque la clé `total_votes` n'existait pas dans le tableau `statistics` passé au template. + +## Modifications apportées + +J'ai ajouté des valeurs par défaut pour toutes les propriétés de `statistics` qui n'avaient pas de vérification d'existence : + +1. `statistics.total_votes` (ligne 192) : + ```twig +
{{ statistics.total_votes|default(0) }}
+ ``` + +2. `statistics.avg_votes_per_proposal` (ligne 200) : + ```twig +
{{ statistics.avg_votes_per_proposal|default(0) }}
+ ``` + +3. `statistics.unique_voters` (ligne 209) : + ```twig +
{{ statistics.unique_voters|default(0) }}
+ ``` + +4. `statistics.median_votes_per_proposal` (ligne 220) : + ```twig +
{{ statistics.median_votes_per_proposal|default(0) }}
+ ``` + +5. `statistics.std_dev_votes_per_proposal` (ligne 229) : + ```twig +
{{ statistics.std_dev_votes_per_proposal|default(0) }}
+ ``` + +## Avantages de ces modifications + +1. **Robustesse** : Le template est maintenant plus robuste et peut gérer les cas où certaines statistiques ne sont pas disponibles. +2. **Prévention des erreurs** : Les erreurs liées à l'accès à des clés inexistantes sont évitées. +3. **Expérience utilisateur améliorée** : Les utilisateurs ne verront plus d'erreurs, mais plutôt des valeurs par défaut (0) lorsque certaines statistiques ne sont pas disponibles. + +## Remarques + +Certaines propriétés de `statistics` avaient déjà des vérifications d'existence avec `is defined`, comme : +- `statistics.avg_vote_duration_days` (ligne 237) +- `statistics.status_distribution` (ligne 250) + +Ces propriétés n'ont pas nécessité de modifications car elles étaient déjà correctement gérées. \ No newline at end of file