Fix bug: get_assiduites_count / feuille_preparation_jury

This commit is contained in:
Emmanuel Viennet 2024-03-10 04:44:42 +01:00
parent 35a038fd3a
commit 959a98d0a2
4 changed files with 11 additions and 11 deletions

View File

@ -111,9 +111,9 @@ class CountCalculator:
evening if evening else ScoDocSiteConfig.get("assi_afternoon_time", "18:00")
)
self.non_work_days: list[
scu.NonWorkDays
] = scu.NonWorkDays.get_all_non_work_days(dept_id=g.scodoc_dept_id)
self.non_work_days: list[scu.NonWorkDays] = (
scu.NonWorkDays.get_all_non_work_days(dept_id=g.scodoc_dept_id)
)
# Sera utilisé pour les assiduités longues (> 1 journée)
self.nb_heures_par_jour = (
@ -669,7 +669,7 @@ def create_absence_billet(
# Gestion du cache
def get_assiduites_count(etudid: int, sem: dict) -> tuple[int, int]:
def get_assiduites_count(etudid: int, sem: dict) -> tuple[int, int, int]:
"""Les comptes d'absences de cet étudiant dans ce semestre:
tuple (nb abs non justifiées, nb abs justifiées, nb abs total)
Utilise un cache.
@ -685,7 +685,7 @@ def get_assiduites_count(etudid: int, sem: dict) -> tuple[int, int]:
def formsemestre_get_assiduites_count(
etudid: int, formsemestre: FormSemestre, moduleimpl_id: int = None
) -> tuple[int, int]:
) -> tuple[int, int, int]:
"""Les comptes d'absences de cet étudiant dans ce semestre:
tuple (nb abs non justifiées, nb abs justifiées, nb abs total)
Utilise un cache.
@ -712,7 +712,7 @@ def get_assiduites_count_in_interval(
date_debut: datetime = None,
date_fin: datetime = None,
moduleimpl_id: int = None,
):
) -> tuple[int, int, int]:
"""Les comptes d'absences de cet étudiant entre ces deux dates, incluses:
tuple (nb abs non justifiées, nb abs justifiées, nb abs total)
On peut spécifier les dates comme datetime ou iso.

View File

@ -139,9 +139,9 @@ def feuille_preparation_jury(formsemestre_id):
main_partition_id, ""
)
# absences:
e_nbabs, e_nbabsjust = sco_assiduites.get_assiduites_count(etud.id, sem)
nbabs[etud.id] = e_nbabs
nbabsjust[etud.id] = e_nbabs - e_nbabsjust
_, nbabsjust[etud.id], nbabs[etud.id] = sco_assiduites.get_assiduites_count(
etud.id, sem
)
# Codes des UE "semestre précédent":
ue_prev_codes = list(prev_moy_ue.keys())

View File

@ -1,7 +1,7 @@
# -*- mode: python -*-
# -*- coding: utf-8 -*-
SCOVERSION = "9.6.950"
SCOVERSION = "9.6.951"
SCONAME = "ScoDoc"

View File

@ -1127,7 +1127,7 @@ def test_calcul_assiduites(test_client):
etud: Identite = data["etuds"][0]
"""
Exemple tuple:
Exemple tuple:
(
"12-04T08:00", # Date de début
"12-04T09:00", # Date de fin