From 177d38428ef7a60bd621943e01f8bac0e03ced08 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Fri, 9 Feb 2024 13:47:48 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20jury=20BUT=20si=20une=20UE=20a=20=C3=A9t?= =?UTF-8?q?=C3=A9=20d=C3=A9associ=C3=A9e=20depuis=20la=20validation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/but/cursus_but.py | 6 +++++- app/models/but_validations.py | 6 ++++-- sco_version.py | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/but/cursus_but.py b/app/but/cursus_but.py index 9858d517..8e3ae8b9 100644 --- a/app/but/cursus_but.py +++ b/app/but/cursus_but.py @@ -119,9 +119,13 @@ class EtudCursusBUT: self.validation_par_competence_et_annee = {} """{ competence_id : { 'BUT1' : validation_rcue (la "meilleure"), ... } }""" + validation_rcue: ApcValidationRCUE for validation_rcue in ApcValidationRCUE.query.filter_by(etud=etud): niveau = validation_rcue.niveau() - if not niveau.competence.id in self.validation_par_competence_et_annee: + if ( + niveau is None + or not niveau.competence.id in self.validation_par_competence_et_annee + ): self.validation_par_competence_et_annee[niveau.competence.id] = {} previous_validation = self.validation_par_competence_et_annee.get( niveau.competence.id diff --git a/app/models/but_validations.py b/app/models/but_validations.py index fb3ade82..0dc29829 100644 --- a/app/models/but_validations.py +++ b/app/models/but_validations.py @@ -77,10 +77,12 @@ class ApcValidationRCUE(db.Model): niveau = self.niveau() return niveau.annee if niveau else None - def niveau(self) -> ApcNiveau: + def niveau(self) -> ApcNiveau | None: """Le niveau de compétence associé à cet RCUE.""" # Par convention, il est donné par la seconde UE - return self.ue2.niveau_competence + # à défaut (si l'UE a été désacciée entre temps), la première + # et à défaut, renvoie None + return self.ue2.niveau_competence or self.ue1.niveau_competence def to_dict(self): "as a dict" diff --git a/sco_version.py b/sco_version.py index 13ed35a5..7d324dc1 100644 --- a/sco_version.py +++ b/sco_version.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "9.6.937" +SCOVERSION = "9.6.938" SCONAME = "ScoDoc"