diff --git a/app/views/notes.py b/app/views/notes.py
index 869661482..99cd224e6 100644
--- a/app/views/notes.py
+++ b/app/views/notes.py
@@ -2237,30 +2237,98 @@ def formsemestre_validation_but(formsemestre_id: int, etudid: int):
page_title="Validation BUT", formsemestre_id=formsemestre_id, etudid=etudid
),
f"""
-
""",
]
formsemestre = FormSemestre.query.get_or_404(formsemestre_id)
etud = Identite.query.get_or_404(etudid)
res: ResultatsSemestreBUT = res_sem.load_formsemestre_results(formsemestre)
- # ---- UEs
+ deca = jury_but.DecisionsProposeesAnnee(etud, formsemestre)
+
+ H.append(
+ f"""
+
Parcours: {deca.parcour.libelle or "non spécifié"}
+ en BUT{deca.annee_but}
+
+
Année: {deca.explanation}
{
+ _gen_but_select("code_annee", deca.codes, deca.code_valide)
+ }
+
Niveaux de compétences
+
+ """
+ )
+
+ for niveau in deca.niveaux_competences:
+ H.append(
+ f"""
+ {niveau.competence.titre}
+
"""
+ )
+ dec_rcue = deca.decisions_rcue_by_niveau[niveau.id]
+ # Semestre impair
+ ue = dec_rcue.rcue.ue_1
+ H.append(
+ f"""
+ {ue.acronyme}
+ {scu.fmt_note(dec_rcue.rcue.moy_ue_1)}
+ {
+ _gen_but_select("code_ue_"+str(ue.id),
+ deca.decisions_ues[ue.id].codes,
+ deca.decisions_ues[ue.id].code_valide
+ )
+ }
+
"""
+ )
+ # Semestre pair
+ ue = dec_rcue.rcue.ue_2
+ H.append(
+ f"""
+ {ue.acronyme}
+ {scu.fmt_note(dec_rcue.rcue.moy_ue_2)}
+ {
+ _gen_but_select("code_ue_"+str(ue.id),
+ deca.decisions_ues[ue.id].codes,
+ deca.decisions_ues[ue.id].code_valide
+ )
+ }
+
"""
+ )
+ # RCUE
+ H.append(
+ f"""
+ {scu.fmt_note(dec_rcue.rcue.moy_rcue)}
+ {
+ _gen_but_select("code_rcue_"+str(niveau.id),
+ dec_rcue.codes,
+ dec_rcue.code_valide
+ )
+ }
+
"""
+ )
+ H.append("
") # but_annee
+
+ # ---- Toutes les UEs, pour infos
H.append(f"
")
for ue in formsemestre.query_ues(): # volontairement toutes les UE
dec_proposee = jury_but.DecisionsProposeesUE(etud, formsemestre, ue)
H.append("- " + html.escape(f"""{ue} : {dec_proposee}""") + "
")
H.append(f"
")
-
- if formsemestre.semestre_id % 2 == 0:
- # ---- RCUES
- H.append(f"
")
- for ue in formsemestre.query_ues(): # volontairement toutes les UE
- dec_proposee = jury_but.decisions_ue_proposees(etud, formsemestre, ue)
- H.append("- " + html.escape(f"""{ue} : {dec_proposee}""") + "
")
- H.append(f"
")
-
+ H.append(f"
")
return "\n".join(H) + html_sco_header.sco_footer()
+def _gen_but_select(name: str, codes: list[str], code_valide: str) -> str:
+ "Le menu html select avec les codes"
+ h = "\n".join(
+ [
+ f"""