N'affiche pas les niveaux inexistants sur le résumé parcours

This commit is contained in:
Emmanuel Viennet 2023-06-22 21:15:23 +02:00 committed by iziram
parent 449c1f0cb0
commit 916edb72ac
3 changed files with 13 additions and 2 deletions

View File

@ -71,6 +71,7 @@ class SituationEtudCursusBUT(sco_cursus_dut.SituationEtudCursusClassic):
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
(utilisé pour le résumé sur la fiche étudiant)
""" """
def __init__(self, etud: Identite, formation: Formation): def __init__(self, etud: Identite, formation: Formation):
@ -190,6 +191,11 @@ class EtudCursusBUT:
) )
return d 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]]: def load_validation_by_niveau(self) -> dict[int, list[ApcValidationRCUE]]:
"""Cherche les validations de jury enregistrées pour chaque niveau """Cherche les validations de jury enregistrées pour chaque niveau
Résultat: { niveau_id : [ ApcValidationRCUE ] } Résultat: { niveau_id : [ ApcValidationRCUE ] }

View File

@ -40,6 +40,10 @@ div.code_rcue {
position: relative; position: relative;
} }
div.no_niveau {
background-color: rgb(245, 237, 200);
}
div.code_jury { div.code_jury {
padding-right: 4px; padding-right: 4px;
padding-left: 4px; padding-left: 4px;

View File

@ -9,7 +9,8 @@
<div class="cb_titre_competence">{{ cursus.competences[competence_id].titre }}</div> <div class="cb_titre_competence">{{ cursus.competences[competence_id].titre }}</div>
{% for annee in ('BUT1', 'BUT2', 'BUT3') %} {% for annee in ('BUT1', 'BUT2', 'BUT3') %}
{% set validation = cursus.validation_par_competence_et_annee.get(competence_id, {}).get(annee) %} {% set validation = cursus.validation_par_competence_et_annee.get(competence_id, {}).get(annee) %}
<div> {% set has_niveau = cursus.competence_annee_has_niveau(competence_id, annee) %}
<div class="{{ '' if has_niveau else 'no_niveau' }}">
{% if validation %} {% if validation %}
<div class="code_rcue with_scoplement"> <div class="code_rcue with_scoplement">
<div class="code_jury">{{validation.code}}</div> <div class="code_jury">{{validation.code}}</div>
@ -23,7 +24,7 @@
</div> </div>
{% else %} {% else %}
<div class="code_rcue"> <div class="code_rcue">
<div class="code_jury">-</div> <div class="code_jury">{{'-' if has_niveau else ''}}</div>
</div> </div>
{%endif%} {%endif%}
</div> </div>