Fix: bug assiduites stats

This commit is contained in:
Emmanuel Viennet 2024-01-21 23:15:44 +01:00
parent f842fa0b4f
commit dae04658b7
2 changed files with 10 additions and 2 deletions

View File

@ -170,7 +170,7 @@ class CountCalculator:
"""Récupère une clé de dictionnaire en fonction de l'état de l'assiduité
et si elle est justifié
"""
keys: dict[EtatAssiduite, str] = {
keys: dict[scu.EtatAssiduite, str] = {
scu.EtatAssiduite.ABSENT: "absent",
scu.EtatAssiduite.RETARD: "retard",
scu.EtatAssiduite.PRESENT: "present",
@ -349,6 +349,11 @@ def get_assiduites_stats(
assiduites: Query, metric: str = "all", filtered: dict[str, object] = None
) -> dict[str, int | float]:
"""Compte les assiduités en fonction des filtres"""
# XXX TODO-assiduite : documenter !!!
# Que sont les filtres ? Quelles valeurs ?
# documenter permet de faire moins de bug: qualité du code non satisfaisante.
#
# + on se perd entre les clés en majuscules et en minuscules. Pourquoi
if filtered is not None:
deb, fin = None, None
@ -399,6 +404,9 @@ def get_assiduites_stats(
# Préparation du dictionnaire de retour avec les valeurs du calcul
count: dict = calculator.to_dict(only_total=False)
for etat in etats:
# TODO-assiduite: on se perd entre les lower et upper.
# Pourquoi EtatAssiduite est en majuscules si tout le reste est en minuscules ?
etat = etat.lower()
if etat != "present":
output[etat] = count[etat]
output[etat]["justifie"] = count[etat + "_just"]

View File

@ -162,7 +162,7 @@ class RowAssi(tb.Row):
},
)
# Pour chaque état on mets à jour les valeurs de retour
# Pour chaque état on met à jour les valeurs de retour
for etat, valeur in retour.items():
valeur[1] = compte_etat[etat][assi_metric]
if etat != "present":