Skip to content
Snippets Groups Projects
Commit fa0f809e authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

Page saisie jury BUT: ajout explications et améliore mise en forme.

parent bd44ab39
No related branches found
No related tags found
No related merge requests found
...@@ -227,6 +227,8 @@ class DecisionsProposeesAnnee(DecisionsProposees): ...@@ -227,6 +227,8 @@ class DecisionsProposeesAnnee(DecisionsProposees):
self.annee_but = (formsemestre.semestre_id + 1) // 2 self.annee_but = (formsemestre.semestre_id + 1) // 2
"le rang de l'année dans le BUT: 1, 2, 3" "le rang de l'année dans le BUT: 1, 2, 3"
assert self.annee_but in (1, 2, 3) assert self.annee_but in (1, 2, 3)
self.explications: set[str] = set()
"set of strings, explications à afficher dans le formulaire"
# ---- inscription et parcours # ---- inscription et parcours
inscription = formsemestre.etuds_inscriptions.get(etud.id) inscription = formsemestre.etuds_inscriptions.get(etud.id)
if inscription is None: if inscription is None:
......
...@@ -135,6 +135,7 @@ def show_etud(deca: DecisionsProposeesAnnee, read_only: bool = True) -> str: ...@@ -135,6 +135,7 @@ def show_etud(deca: DecisionsProposeesAnnee, read_only: bool = True) -> str:
_gen_but_niveau_ue( _gen_but_niveau_ue(
ue, ue,
deca.decisions_ues[ue.id], deca.decisions_ues[ue.id],
deca=deca,
disabled=read_only or ue_read_only, disabled=read_only or ue_read_only,
annee_prec=ue_read_only, annee_prec=ue_read_only,
niveau_id=ue.niveau_competence.id, niveau_id=ue.niveau_competence.id,
...@@ -190,11 +191,13 @@ def _gen_but_select( ...@@ -190,11 +191,13 @@ def _gen_but_select(
def _gen_but_niveau_ue( def _gen_but_niveau_ue(
ue: UniteEns, ue: UniteEns,
dec_ue: DecisionsProposeesUE, dec_ue: DecisionsProposeesUE,
deca: DecisionsProposeesAnnee,
disabled: bool = False, disabled: bool = False,
annee_prec: bool = False, annee_prec: bool = False,
niveau_id: int = None, niveau_id: int = None,
ue_dispense: bool = False, ue_dispense: bool = False,
) -> str: ) -> str:
"html snippet pour une UE. Ajoute éventuellement des explications dans le deca."
if dec_ue.ue_status and dec_ue.ue_status["is_capitalized"]: if dec_ue.ue_status and dec_ue.ue_status["is_capitalized"]:
moy_ue_str = f"""<span class="ue_cap">{ moy_ue_str = f"""<span class="ue_cap">{
scu.fmt_note(dec_ue.moy_ue_with_cap)}</span>""" scu.fmt_note(dec_ue.moy_ue_with_cap)}</span>"""
...@@ -220,6 +223,12 @@ def _gen_but_niveau_ue( ...@@ -220,6 +223,12 @@ def _gen_but_niveau_ue(
</div> </div>
</div> </div>
""" """
deca.explications.add(f"UE {ue.acronyme} capitalisée, {etat_en_cours}")
deca.explications.add("Certaines UEs sont déjà capitalisées.")
deca.explications.add(
"""<b>Le code jury à saisir sur les UEs porte toujours sur celles du semestre en cours.
Lorsque l'ancienne note est meilleure, elle est rappelée et soulignée.</b>"""
)
elif dec_ue.formsemestre is None: elif dec_ue.formsemestre is None:
# Validation d'UE antérieure (semestre hors année scolaire courante) # Validation d'UE antérieure (semestre hors année scolaire courante)
if dec_ue.validation: if dec_ue.validation:
...@@ -234,6 +243,9 @@ def _gen_but_niveau_ue( ...@@ -234,6 +243,9 @@ def _gen_but_niveau_ue(
<div>Non reprise dans l'année en cours</div> <div>Non reprise dans l'année en cours</div>
</div> </div>
""" """
deca.explications.add(
f"UE {ue.acronyme} antérieure validée non reprise dans ce semestre."
)
else: else:
moy_ue_str = """<span>-</span>""" moy_ue_str = """<span>-</span>"""
scoplement = """<div class="scoplement"> scoplement = """<div class="scoplement">
...@@ -242,6 +254,7 @@ def _gen_but_niveau_ue( ...@@ -242,6 +254,7 @@ def _gen_but_niveau_ue(
</div> </div>
</div> </div>
""" """
deca.explications.add(f"Pas d'UE {ue.acronyme} en cours ou validée.")
else: else:
moy_ue_str = f"""<span>{scu.fmt_note(dec_ue.moy_ue)}</span>""" moy_ue_str = f"""<span>{scu.fmt_note(dec_ue.moy_ue)}</span>"""
if dec_ue.code_valide: if dec_ue.code_valide:
...@@ -261,6 +274,9 @@ def _gen_but_niveau_ue( ...@@ -261,6 +274,9 @@ def _gen_but_niveau_ue(
UE déjà capitalisée avec résultat moins favorable. UE déjà capitalisée avec résultat moins favorable.
</div> </div>
""" """
deca.explications.add(
f"UE {ue.acronyme} déjà capitalisée avec résultat moins favorable."
)
else: else:
scoplement = "" scoplement = ""
......
...@@ -42,14 +42,17 @@ ul.modimpls_att { ...@@ -42,14 +42,17 @@ ul.modimpls_att {
min-width: var(--sco-content-min-width); min-width: var(--sco-content-min-width);
max-width: var(--sco-content-max-width); max-width: var(--sco-content-max-width);
} }
div.jury_but_warning { div.jury_but_warning {
background-color: yellow; background-color: yellow;
border-color: red; border-color: red;
padding-bottom: 4px; padding-bottom: 4px;
} }
div.jury_but_box_title { div.jury_but_box_title {
margin-bottom: 10px; margin-bottom: 10px;
} }
.but_annee { .but_annee {
margin-left: 32px; margin-left: 32px;
display: inline-grid; display: inline-grid;
...@@ -114,15 +117,22 @@ div.jury_but_box_title { ...@@ -114,15 +117,22 @@ div.jury_but_box_title {
.but_navigation { .but_navigation {
padding-top: 16px; margin-top: 16px;
margin-left: 50px; padding-top: 8px;
margin-right: 50px; border-top: 1px solid #999;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
} }
.but_navigation div { .but_navigation div {
display: inline-block; display: inline-block;
margin-left: 50px; min-width: 100px;
margin-right: 50px; }
.but_navigation div.center {
margin: 0 auto;
} }
div.but_section_annee { div.but_section_annee {
...@@ -277,6 +287,10 @@ div.but_doc table tr td.amue { ...@@ -277,6 +287,10 @@ div.but_doc table tr td.amue {
} }
.but_autorisations_passage.but_explanation { .but_autorisations_passage.but_explanation {
color: var(--color-explanation);
}
.but_explications {
font-weight: normal; font-weight: normal;
color: var(--color-explanation); color: var(--color-explanation);
} }
...@@ -286,3 +300,13 @@ div.but_doc table tr td.amue { ...@@ -286,3 +300,13 @@ div.but_doc table tr td.amue {
margin-bottom: 8px; margin-bottom: 8px;
margin-left: 16px; margin-left: 16px;
} }
.but_submit {
margin-top: 12px;
}
.btn.btn-default.but_submit_button {
font-weight: bold;
font-size: 18px;
padding: 16px 16px;
}
\ No newline at end of file
...@@ -233,7 +233,7 @@ def formsemestre_validation_but( ...@@ -233,7 +233,7 @@ def formsemestre_validation_but(
<div class="prev"> <div class="prev">
{prev_lnk} {prev_lnk}
</div> </div>
<div class="back_list"> <div class="back_list center">
<a href="{ <a href="{
url_for( url_for(
"notes.formsemestre_recapcomplet", "notes.formsemestre_recapcomplet",
...@@ -398,7 +398,13 @@ def formsemestre_validation_but( ...@@ -398,7 +398,13 @@ def formsemestre_validation_but(
) )
H.append(jury_but_view.show_etud(deca, read_only=read_only)) H.append(jury_but_view.show_etud(deca, read_only=read_only))
# Remarques / explications
if deca.explications:
explications = "</li><li>".join(sorted(deca.explications))
H.append(
f"""<div class="but_explications"><ul><li>{explications}</li></ul></div>"""
)
# Autorisations de passage
autorisations_idx = deca.get_autorisations_passage() autorisations_idx = deca.get_autorisations_passage()
div_autorisations_passage = ( div_autorisations_passage = (
f""" f"""
...@@ -409,7 +415,7 @@ def formsemestre_validation_but( ...@@ -409,7 +415,7 @@ def formsemestre_validation_but(
""" """
if autorisations_idx if autorisations_idx
else """<div class="but_autorisations_passage but_explanation"> else """<div class="but_autorisations_passage but_explanation">
pas d'autorisations de passage enregistrées. Pas d'autorisations de passage enregistrées.
</div> </div>
""" """
) )
...@@ -457,13 +463,14 @@ def formsemestre_validation_but( ...@@ -457,13 +463,14 @@ def formsemestre_validation_but(
<em>permettre la saisie manuelles des codes <em>permettre la saisie manuelles des codes
{"d'année et " if deca.jury_annuel else ""} {"d'année et " if deca.jury_annuel else ""}
de niveaux. de niveaux.
Dans ce cas, assurez-vous de la cohérence entre les codes d'UE/RCUE/Année ! Assurez-vous alors de la cohérence entre les codes d'UE/RCUE/Année !
</em> </em>
</input> </input>
</div> </div>
<div class="but_submit"><button type="submit" class="btn btn-default but_submit_button"
>Enregistrer ces décisions</button></div>
<div class="but_buttons"> <div class="but_buttons">
<span><input type="submit" value="Enregistrer ces décisions"></span>
<span>{erase_span}</span> <span>{erase_span}</span>
</div> </div>
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment