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") evening if evening else ScoDocSiteConfig.get("assi_afternoon_time", "18:00")
) )
self.non_work_days: list[ self.non_work_days: list[scu.NonWorkDays] = (
scu.NonWorkDays scu.NonWorkDays.get_all_non_work_days(dept_id=g.scodoc_dept_id)
] = scu.NonWorkDays.get_all_non_work_days(dept_id=g.scodoc_dept_id) )
# Sera utilisé pour les assiduités longues (> 1 journée) # Sera utilisé pour les assiduités longues (> 1 journée)
self.nb_heures_par_jour = ( self.nb_heures_par_jour = (
@ -669,7 +669,7 @@ def create_absence_billet(
# Gestion du cache # 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: """Les comptes d'absences de cet étudiant dans ce semestre:
tuple (nb abs non justifiées, nb abs justifiées, nb abs total) tuple (nb abs non justifiées, nb abs justifiées, nb abs total)
Utilise un cache. Utilise un cache.
@ -685,7 +685,7 @@ def get_assiduites_count(etudid: int, sem: dict) -> tuple[int, int]:
def formsemestre_get_assiduites_count( def formsemestre_get_assiduites_count(
etudid: int, formsemestre: FormSemestre, moduleimpl_id: int = None 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: """Les comptes d'absences de cet étudiant dans ce semestre:
tuple (nb abs non justifiées, nb abs justifiées, nb abs total) tuple (nb abs non justifiées, nb abs justifiées, nb abs total)
Utilise un cache. Utilise un cache.
@ -712,7 +712,7 @@ def get_assiduites_count_in_interval(
date_debut: datetime = None, date_debut: datetime = None,
date_fin: datetime = None, date_fin: datetime = None,
moduleimpl_id: int = None, moduleimpl_id: int = None,
): ) -> tuple[int, int, int]:
"""Les comptes d'absences de cet étudiant entre ces deux dates, incluses: """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) tuple (nb abs non justifiées, nb abs justifiées, nb abs total)
On peut spécifier les dates comme datetime ou iso. 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, "" main_partition_id, ""
) )
# absences: # absences:
e_nbabs, e_nbabsjust = sco_assiduites.get_assiduites_count(etud.id, sem) _, nbabsjust[etud.id], nbabs[etud.id] = sco_assiduites.get_assiduites_count(
nbabs[etud.id] = e_nbabs etud.id, sem
nbabsjust[etud.id] = e_nbabs - e_nbabsjust )
# Codes des UE "semestre précédent": # Codes des UE "semestre précédent":
ue_prev_codes = list(prev_moy_ue.keys()) ue_prev_codes = list(prev_moy_ue.keys())

View File

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

View File

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