Diplôme BUT sur tableau recap. jury. Closes #929.

This commit is contained in:
Emmanuel Viennet 2024-06-19 18:51:02 +02:00
parent 070c9ea36f
commit 3163e00ff5
2 changed files with 40 additions and 20 deletions

View File

@ -55,13 +55,19 @@ class SituationEtudCursusBUT(sco_cursus_dut.SituationEtudCursusClassic):
def parcours_validated(self):
"True si le parcours (ici diplôme BUT) est validé"
# Si année 3 validée, ok
return but_parcours_validated(
self.etud.id, self.cur_sem.formation.referentiel_competence_id
)
def but_parcours_validated(etudid: int, referentiel_competence_id: int) -> bool:
"""Détermine si le parcours BUT est validé:
ne regarde que si une validation BUT3 est enregistrée
"""
return any(
sco_codes.code_annee_validant(v.code)
for v in ApcValidationAnnee.query.filter_by(
etudid=self.etud.id,
ordre=3,
referentiel_competence_id=self.cur_sem.formation.referentiel_competence_id,
etudid=etudid, ordre=3, referentiel_competence_id=referentiel_competence_id
)
)

View File

@ -84,6 +84,7 @@ class TableJury(TableRecap):
autorisations = res.get_autorisations_inscription()
if res.is_apc:
validations_annee = res.get_validations_annee()
for row in self.rows:
etud = row.etud
if not res.is_apc:
@ -103,7 +104,20 @@ class TableJury(TableRecap):
self.foot_title_row.cells["jury_code_sem"].target_attrs[
"title"
] = """Code jury sur le semestre"""
# Autorisations inscription
# Autorisations inscription ou diplôme BUT S6
if res.is_apc and res.formsemestre.semestre_id == 6:
# on ne vérifie le diplôme que dans ce cas pour ne pas ralentir
if cursus_but.but_parcours_validated(
etud.id, res.formsemestre.formation.referentiel_competence_id
):
row.add_cell(
"autorisations_inscription",
"Passage",
"Diplôme obtenu",
group="jury_code_sem",
classes=["recorded_code"],
)
else:
row.add_cell(
"autorisations_inscription",
"Passage",