Fix: enregistrement code jury BUT
This commit is contained in:
parent
01d28eac90
commit
1d3ccb565a
@ -480,7 +480,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
||||
- 'code_annee' : 'ADM' code pour l'année
|
||||
|
||||
Si les code_rcue et le code_annee ne sont pas fournis,
|
||||
enregistre ceux par défaut.
|
||||
et qu'il n'y en a pas déjà, enregistre ceux par défaut.
|
||||
"""
|
||||
for key in form:
|
||||
code = form[key]
|
||||
@ -508,13 +508,15 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
||||
self.record_all()
|
||||
db.session.commit()
|
||||
|
||||
def record(self, code: str):
|
||||
"""Enregistre le code"""
|
||||
def record(self, code: str, no_overwrite=False):
|
||||
"""Enregistre le code de l'année, et au besoin l'autorisation d'inscription.
|
||||
Si no_overwrite, ne fait rien si un code est déjà enregistré.
|
||||
"""
|
||||
if code and not code in self.codes:
|
||||
raise ScoValueError(
|
||||
f"code annee <tt>{html.escape(code)}</tt> invalide pour formsemestre {html.escape(self.formsemestre)}"
|
||||
)
|
||||
if code == self.code_valide:
|
||||
if code == self.code_valide or (self.code_valide is not None and no_overwrite):
|
||||
self.recorded = True
|
||||
return # no change
|
||||
if self.validation:
|
||||
@ -556,9 +558,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
||||
self.recorded = True
|
||||
|
||||
def record_all(self):
|
||||
"""Enregistre les codes qui n'ont pas été spécifiés par le formulaire,
|
||||
et sont donc en mode "automatique"
|
||||
"""
|
||||
"""Enregistre les codes qui n'ont pas été spécifiés par le formulaire, et sont donc en mode "automatique" """
|
||||
decisions = (
|
||||
list(self.decisions_ues.values())
|
||||
+ list(self.decisions_rcue_by_niveau.values())
|
||||
@ -568,8 +568,8 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
||||
if not dec.recorded:
|
||||
# rappel: le code par défaut est en tête
|
||||
code = dec.codes[0] if dec.codes else None
|
||||
# s'il n'y a pas de codee, efface
|
||||
dec.record(dec.codes[0])
|
||||
# s'il n'y a pas de code, efface
|
||||
dec.record(code, no_overwrite=True)
|
||||
|
||||
def erase(self):
|
||||
"""Efface les décisions de jury de cet étudiant
|
||||
@ -631,13 +631,13 @@ class DecisionsProposeesRCUE(DecisionsProposees):
|
||||
else:
|
||||
self.codes.insert(0, sco_codes.AJ)
|
||||
|
||||
def record(self, code: str):
|
||||
def record(self, code: str, no_overwrite=False):
|
||||
"""Enregistre le code"""
|
||||
if code and not code in self.codes:
|
||||
raise ScoValueError(
|
||||
f"code UE invalide pour ue_id={self.ue.id}: {html.escape(code)}"
|
||||
)
|
||||
if code == self.code_valide:
|
||||
if code == self.code_valide or (self.code_valide is not None and no_overwrite):
|
||||
self.recorded = True
|
||||
return # no change
|
||||
parcours_id = self.parcour.id if self.parcour is not None else None
|
||||
@ -747,13 +747,13 @@ class DecisionsProposeesUE(DecisionsProposees):
|
||||
self.codes = [sco_codes.AJ, sco_codes.ADJ] + self.codes
|
||||
self.explanation = "notes insuffisantes"
|
||||
|
||||
def record(self, code: str):
|
||||
def record(self, code: str, no_overwrite=False):
|
||||
"""Enregistre le code"""
|
||||
if code and not code in self.codes:
|
||||
raise ScoValueError(
|
||||
f"code UE invalide pour ue_id={self.ue.id}: {html.escape(code)}"
|
||||
)
|
||||
if code == self.code_valide:
|
||||
if code == self.code_valide or (self.code_valide is not None and no_overwrite):
|
||||
self.recorded = True
|
||||
return # no change
|
||||
if self.validation:
|
||||
|
Loading…
Reference in New Issue
Block a user