##############################################################################
# ScoDoc
# Copyright (c) 1999 - 2022 Emmanuel Viennet. All rights reserved.
# See LICENSE
##############################################################################
"""Jury BUT: affichage/formulaire
"""
import re
import flask
from flask import flash, url_for
from flask import g, request
from app import db
from app.but import jury_but
from app.but.jury_but import DecisionsProposeesAnnee, DecisionsProposeesUE
from app.comp import res_sem
from app.comp.res_but import ResultatsSemestreBUT
from app.models import (
FormSemestre,
FormSemestreInscription,
Identite,
UniteEns,
ScolarAutorisationInscription,
)
from app.scodoc import html_sco_header
from app.scodoc.sco_exceptions import ScoValueError
from app.scodoc import sco_utils as scu
def show_etud(deca: DecisionsProposeesAnnee, read_only: bool = True) -> str:
"""Affichage des décisions annuelles BUT
Si pas read_only, menus sélection codes jury.
"""
H = []
if deca.code_valide and not read_only:
erase_span = f"""effacer décisions"""
else:
erase_span = ""
H.append("""
""")
if deca.jury_annuel:
H.append(
f"""
Décision de jury pour l'année : {
_gen_but_select("code_annee", deca.codes, deca.code_valide,
disabled=True, klass="manual")
}
({'non ' if deca.code_valide is None else ''}enregistrée){erase_span}
{deca.explanation}
"""
)
else:
H.append("""
Pas de décision annuelle (sem. impair)
""")
H.append("""
""")
if deca.formsemestre_pair is not None:
annee_sco_pair = deca.formsemestre_pair.annee_scolaire()
avertissement_redoublement = (
f"année {annee_sco_pair}-{annee_sco_pair+1}"
if annee_sco_pair != deca.annee_scolaire()
else ""
)
else:
avertissement_redoublement = ""
H.append(
f"""
Niveaux de compétences et unités d'enseignement du BUT{deca.annee_but}
S{deca.formsemestre_impair.semestre_id
if deca.formsemestre_impair else "-"}
S{deca.formsemestre_pair.semestre_id
if deca.formsemestre_pair else "-"}
{avertissement_redoublement}
RCUE
"""
)
for niveau in deca.niveaux_competences:
H.append(
f"""