forked from ScoDoc/ScoDoc
Fix: bug assiduites stats
This commit is contained in:
parent
f842fa0b4f
commit
dae04658b7
@ -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"]
|
||||
|
@ -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":
|
||||
|
Loading…
Reference in New Issue
Block a user