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,17 +55,23 @@ class SituationEtudCursusBUT(sco_cursus_dut.SituationEtudCursusClassic):
def parcours_validated(self): def parcours_validated(self):
"True si le parcours (ici diplôme BUT) est validé" "True si le parcours (ici diplôme BUT) est validé"
# Si année 3 validée, ok return but_parcours_validated(
return any( self.etud.id, self.cur_sem.formation.referentiel_competence_id
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,
)
) )
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=etudid, ordre=3, referentiel_competence_id=referentiel_competence_id
)
)
class EtudCursusBUT: class EtudCursusBUT:
"""L'état de l'étudiant dans son cursus BUT """L'état de l'étudiant dans son cursus BUT
Liste des niveaux validés/à valider Liste des niveaux validés/à valider

View File

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