From d7d6d688ffa1dd4f671f4d5b17761d28f28b4fb3 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Tue, 12 Dec 2023 19:12:46 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20calcul=20des=20moyennes=20de=20modules?= =?UTF-8?q?=20avec=20poids=20d'=C3=A9valuations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/comp/moy_mod.py | 7 +++---- app/models/evaluations.py | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/comp/moy_mod.py b/app/comp/moy_mod.py index 4180c35e..7ca6c25e 100644 --- a/app/comp/moy_mod.py +++ b/app/comp/moy_mod.py @@ -419,11 +419,10 @@ def load_evaluations_poids(moduleimpl_id: int) -> tuple[pd.DataFrame, list]: Résultat: (evals_poids, liste de UEs du semestre sauf le sport) """ - modimpl: ModuleImpl = db.session.get(ModuleImpl, moduleimpl_id) - evaluations = Evaluation.query.filter_by(moduleimpl_id=moduleimpl_id).all() + modimpl = db.session.get(ModuleImpl, moduleimpl_id) ues = modimpl.formsemestre.get_ues(with_sport=False) ue_ids = [ue.id for ue in ues] - evaluation_ids = [evaluation.id for evaluation in evaluations] + evaluation_ids = [evaluation.id for evaluation in modimpl.evaluations] evals_poids = pd.DataFrame(columns=ue_ids, index=evaluation_ids, dtype=float) if ( modimpl.module.module_type == ModuleType.RESSOURCE @@ -434,7 +433,7 @@ def load_evaluations_poids(moduleimpl_id: int) -> tuple[pd.DataFrame, list]: ).filter_by(moduleimpl_id=moduleimpl_id): try: evals_poids[ue_poids.ue_id][ue_poids.evaluation_id] = ue_poids.poids - except KeyError as exc: + except KeyError: pass # poids vers des UE qui n'existent plus ou sont dans un autre semestre... # Initialise poids non enregistrés: diff --git a/app/models/evaluations.py b/app/models/evaluations.py index 127c9715..3dcac667 100644 --- a/app/models/evaluations.py +++ b/app/models/evaluations.py @@ -276,6 +276,7 @@ class Evaluation(db.Model): db.session.add(e) i += 1 db.session.commit() + sco_cache.invalidate_formsemestre(moduleimpl.formsemestre_id) def descr_heure(self) -> str: "Description de la plage horaire pour affichages ('de 13h00 à 14h00')"