From 2af2ca6c43f358b559a3fd0b1f26be7d4123ebb2 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Wed, 21 Jun 2023 16:47:24 +0200 Subject: [PATCH] =?UTF-8?q?Jury=20BUT:=20corrige=20enregistrement=20d?= =?UTF-8?q?=C3=A9cisions=20d'annee=20BUT=20manuelles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/but/jury_but.py | 11 ++++++++--- app/models/but_validations.py | 1 + app/views/notes.py | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/but/jury_but.py b/app/but/jury_but.py index 73310cb687..64c05b7935 100644 --- a/app/but/jury_but.py +++ b/app/but/jury_but.py @@ -257,6 +257,8 @@ class DecisionsProposeesAnnee(DecisionsProposees): self.annee_but = (formsemestre_last.semestre_id + 1) // 2 "le rang de l'année dans le BUT: 1, 2, 3" assert self.annee_but in (1, 2, 3) + self.autorisations_recorded = False + "vrai si on a enregistré l'autorisation de passage" self.rcues_annee = [] """RCUEs de l'année (peuvent concerner l'année scolaire antérieur pour les redoublants @@ -751,7 +753,7 @@ class DecisionsProposeesAnnee(DecisionsProposees): dec_ue.record(code) for dec_rcue, code in codes_rcues: dec_rcue.record(code) - self.record(code_annee, mark_recorded=False) + self.record(code_annee) # XXX , mark_recorded=False) self.record_autorisation_inscription(code_annee) self.record_all() self.recorded = True @@ -794,13 +796,15 @@ class DecisionsProposeesAnnee(DecisionsProposees): etudid=self.etud.id, msg=f"Validation année BUT{self.annee_but}: {code}", ) - if mark_recorded: - self.recorded = True + if mark_recorded: + self.recorded = True self.invalidate_formsemestre_cache() return True def record_autorisation_inscription(self, code: str): """Autorisation d'inscription dans semestre suivant""" + if self.autorisations_recorded: + return if self.inscription_etat != scu.INSCRIT: # les dem et DEF ne continuent jamais return @@ -815,6 +819,7 @@ class DecisionsProposeesAnnee(DecisionsProposees): self.formsemestre.id, next_semestre_id, ) + self.autorisations_recorded = True def invalidate_formsemestre_cache(self): "invalide le résultats des deux formsemestres" diff --git a/app/models/but_validations.py b/app/models/but_validations.py index 778164765f..4054c9f43b 100644 --- a/app/models/but_validations.py +++ b/app/models/but_validations.py @@ -352,6 +352,7 @@ class ApcValidationAnnee(db.Model): "Affichage html" return f"""Validation année BUT{self.ordre} émise par {self.formsemestre.html_link_status() if self.formsemestre else "-"} + : {self.code} le {self.date.strftime("%d/%m/%Y")} à {self.date.strftime("%Hh%M")} """ diff --git a/app/views/notes.py b/app/views/notes.py index cf5da2e36b..c51571941b 100644 --- a/app/views/notes.py +++ b/app/views/notes.py @@ -2497,7 +2497,7 @@ def formsemestre_validation_but( scodoc_dept=g.scodoc_dept, formsemestre_id=deca.formsemestre_id, etudid=deca.etud.id)}" class="stdlink" title="efface décisions issues des jurys de cette année" - >effacer décisions + >effacer décisions de ce jury