54 lines
No EOL
2.6 KiB
Markdown
54 lines
No EOL
2.6 KiB
Markdown
# 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
|
|
<div class="stats-value">{{ statistics.total_votes|default(0) }}</div>
|
|
```
|
|
|
|
2. `statistics.avg_votes_per_proposal` (ligne 200) :
|
|
```twig
|
|
<div class="stats-value">{{ statistics.avg_votes_per_proposal|default(0) }}</div>
|
|
```
|
|
|
|
3. `statistics.unique_voters` (ligne 209) :
|
|
```twig
|
|
<div class="stats-value">{{ statistics.unique_voters|default(0) }}</div>
|
|
```
|
|
|
|
4. `statistics.median_votes_per_proposal` (ligne 220) :
|
|
```twig
|
|
<div class="stats-value">{{ statistics.median_votes_per_proposal|default(0) }}</div>
|
|
```
|
|
|
|
5. `statistics.std_dev_votes_per_proposal` (ligne 229) :
|
|
```twig
|
|
<div class="stats-value">{{ statistics.std_dev_votes_per_proposal|default(0) }}</div>
|
|
```
|
|
|
|
## 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. |