diff --git a/app/comp/res_but.py b/app/comp/res_but.py index 2802aef4ef..ba0f131475 100644 --- a/app/comp/res_but.py +++ b/app/comp/res_but.py @@ -222,21 +222,26 @@ class ResultatsSemestreBUT(NotesTableCompat): return pd.DataFrame( 1.0, index=etuds_parcour_id.keys(), columns=ue_ids, dtype=float ) - # matrice de NaN, inscrits par défaut à aucune UE: + # matrice de NaN: inscrits par défaut à AUCUNE UE: ues_inscr_parcours_df = pd.DataFrame( - np.nan, index=etuds_parcour_id.keys(), columns=ue_ids, dtype=float + np.nan, index=etuds_parcour_id.keys(), columns=ue_ids, dtype=float # XXX ) + # Construit pour chaque parcours du référentiel l'ensemble de ses UE + # (considère aussi le cas des semestres sans parcours: None) ue_by_parcours = {} # parcours_id : {ue_id:0|1} - for parcour in self.formsemestre.formation.referentiel_competence.parcours: - ue_by_parcours[parcour.id] = { + for ( + parcour + ) in self.formsemestre.formation.referentiel_competence.parcours.all() + [None]: + ue_by_parcours[None if parcour is None else parcour.id] = { ue.id: 1.0 for ue in self.formsemestre.formation.query_ues_parcour( parcour ).filter_by(semestre_idx=self.formsemestre.semestre_id) } + # for etudid in etuds_parcour_id: parcour_id = etuds_parcour_id[etudid] - if parcour_id is not None and parcour_id in ue_by_parcours: + if parcour_id in ue_by_parcours: if ue_by_parcours[parcour_id]: ues_inscr_parcours_df.loc[etudid] = ue_by_parcours[parcour_id] return ues_inscr_parcours_df diff --git a/sco_version.py b/sco_version.py index b9ab568726..ec084085a8 100644 --- a/sco_version.py +++ b/sco_version.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "9.4.13" +SCOVERSION = "9.4.14" SCONAME = "ScoDoc"