2.6 KiB
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 :
-
statistics.total_votes
(ligne 192) :<div class="stats-value">{{ statistics.total_votes|default(0) }}</div>
-
statistics.avg_votes_per_proposal
(ligne 200) :<div class="stats-value">{{ statistics.avg_votes_per_proposal|default(0) }}</div>
-
statistics.unique_voters
(ligne 209) :<div class="stats-value">{{ statistics.unique_voters|default(0) }}</div>
-
statistics.median_votes_per_proposal
(ligne 220) :<div class="stats-value">{{ statistics.median_votes_per_proposal|default(0) }}</div>
-
statistics.std_dev_votes_per_proposal
(ligne 229) :<div class="stats-value">{{ statistics.std_dev_votes_per_proposal|default(0) }}</div>
Avantages de ces modifications
- Robustesse : Le template est maintenant plus robuste et peut gérer les cas où certaines statistiques ne sont pas disponibles.
- Prévention des erreurs : Les erreurs liées à l'accès à des clés inexistantes sont évitées.
- 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.