diff --git a/app/but/jury_but.py b/app/but/jury_but.py index 60cad7986..2091c16af 100644 --- a/app/but/jury_but.py +++ b/app/but/jury_but.py @@ -160,6 +160,9 @@ class DecisionsProposees: "Validation enregistrée" self.code_valide: str = code_valide "Code décision actuel enregistré" + # S'assure que le code enregistré est toujours présent dans le menu + if self.code_valide and self.code_valide not in self.codes: + self.codes.append(self.code_valide) self.explanation: str = explanation "Explication à afficher à côté de la décision" self.recorded = False @@ -887,11 +890,21 @@ class DecisionsProposeesUE(DecisionsProposees): ue: UniteEns, inscription_etat: str = scu.INSCRIT, ): - super().__init__(etud=etud) + # Une UE peut être validée plusieurs fois en cas de redoublement (qu'elle soit capitalisée ou non) + # mais ici on a restreint au formsemestre donc une seule (prend la première) + self.validation = ScolarFormSemestreValidation.query.filter_by( + etudid=etud.id, formsemestre_id=formsemestre.id, ue_id=ue.id + ).first() + + super().__init__( + etud=etud, + code_valide=self.validation.code if self.validation is not None else None, + ) + self.formsemestre = formsemestre self.ue: UniteEns = ue self.rcue: RegroupementCoherentUE = None - "Le rcu auquel est rattaché cette UE, ou None" + "Le rcue auquel est rattaché cette UE, ou None" self.inscription_etat = inscription_etat "inscription: I, DEM, DEF" if ue.type == sco_codes.UE_SPORT: @@ -906,13 +919,6 @@ class DecisionsProposeesUE(DecisionsProposees): ] self.moy_ue = "-" return - # Une UE peut être validée plusieurs fois en cas de redoublement (qu'elle soit capitalisée ou non) - # mais ici on a restreint au formsemestre donc une seule (prend la première) - self.validation = ScolarFormSemestreValidation.query.filter_by( - etudid=self.etud.id, formsemestre_id=formsemestre.id, ue_id=ue.id - ).first() - if self.validation is not None: - self.code_valide = self.validation.code # Moyenne de l'UE ? res: ResultatsSemestreBUT = res_sem.load_formsemestre_results(formsemestre)