diff --git a/app/but/cursus_but.py b/app/but/cursus_but.py index ea1b956ee..5b5b6f29c 100644 --- a/app/but/cursus_but.py +++ b/app/but/cursus_but.py @@ -71,6 +71,7 @@ class SituationEtudCursusBUT(sco_cursus_dut.SituationEtudCursusClassic): class EtudCursusBUT: """L'état de l'étudiant dans son cursus BUT Liste des niveaux validés/à valider + (utilisé pour le résumé sur la fiche étudiant) """ def __init__(self, etud: Identite, formation: Formation): @@ -190,6 +191,11 @@ class EtudCursusBUT: ) return d + def competence_annee_has_niveau(self, competence_id: int, annee: str) -> bool: + "vrai si la compétence à un niveau dans cette annee ('BUT1') pour le parcour de cet etud" + # slow, utile pour affichage fiche + return annee in [n.annee for n in self.competences[competence_id].niveaux] + def load_validation_by_niveau(self) -> dict[int, list[ApcValidationRCUE]]: """Cherche les validations de jury enregistrées pour chaque niveau Résultat: { niveau_id : [ ApcValidationRCUE ] } diff --git a/app/static/css/cursus_but.css b/app/static/css/cursus_but.css index e998ccda5..83438d250 100644 --- a/app/static/css/cursus_but.css +++ b/app/static/css/cursus_but.css @@ -40,6 +40,10 @@ div.code_rcue { position: relative; } +div.no_niveau { + background-color: rgb(245, 237, 200); +} + div.code_jury { padding-right: 4px; padding-left: 4px; diff --git a/app/templates/but/cursus_etud.j2 b/app/templates/but/cursus_etud.j2 index 4baaa96f1..34090aa61 100644 --- a/app/templates/but/cursus_etud.j2 +++ b/app/templates/but/cursus_etud.j2 @@ -9,7 +9,8 @@
{{ cursus.competences[competence_id].titre }}
{% for annee in ('BUT1', 'BUT2', 'BUT3') %} {% set validation = cursus.validation_par_competence_et_annee.get(competence_id, {}).get(annee) %} -
+ {% set has_niveau = cursus.competence_annee_has_niveau(competence_id, annee) %} +
{% if validation %}
{{validation.code}}
@@ -23,7 +24,7 @@
{% else %}
-
-
+
{{'-' if has_niveau else ''}}
{%endif%}