diff --git a/app/models/evaluations.py b/app/models/evaluations.py index b5ff3a675..e2c01695f 100644 --- a/app/models/evaluations.py +++ b/app/models/evaluations.py @@ -428,8 +428,8 @@ class Evaluation(db.Model): def get_ue_poids_str(self) -> str: """string describing poids, for excel cells and pdfs - Note: si les poids ne sont pas initialisés (poids par défaut), - ils ne sont pas affichés. + Note: les poids nuls ou non initialisés (poids par défaut), + ne sont pas affichés. """ # restreint aux UE du semestre dans lequel est cette évaluation # au cas où le module ait changé de semestre et qu'il reste des poids @@ -440,7 +440,7 @@ class Evaluation(db.Model): for p in sorted( self.ue_poids, key=lambda p: (p.ue.numero or 0, p.ue.acronyme) ) - if evaluation_semestre_idx == p.ue.semestre_idx + if evaluation_semestre_idx == p.ue.semestre_idx and (p.poids or 0) > 0 ] ) diff --git a/app/scodoc/sco_liste_notes.py b/app/scodoc/sco_liste_notes.py index 050ab52f8..62ed203f2 100644 --- a/app/scodoc/sco_liste_notes.py +++ b/app/scodoc/sco_liste_notes.py @@ -29,6 +29,7 @@ """ from collections import defaultdict import numpy as np +import pandas as pd import flask from flask import url_for, g, request @@ -684,7 +685,7 @@ def _make_table_notes( def _add_eval_columns( evaluation: Evaluation, eval_state, - evals_poids, + evals_poids: pd.DataFrame | None, ues, rows, titles, @@ -834,14 +835,22 @@ def _add_eval_columns( return notes, nb_abs, nb_att # pour histogramme -def _mini_table_eval_ue_poids(evaluation_id, evals_poids, ues): +def _mini_table_eval_ue_poids( + evaluation_id: int, evals_poids: pd.DataFrame, ues +) -> str: "contenu de la cellule: poids" + ue_poids = [ + (ue.acronyme, evals_poids[ue.id][evaluation_id]) + for ue in ues + if (evals_poids[ue.id][evaluation_id] or 0) > 0 + ] + return ( """
""" - + " | ".join([f"{ue.acronyme}" for ue in ues]) + + " | ".join([f"{up[0]}" for up in ue_poids]) + " |
" - + " | ".join([f"{evals_poids[ue.id][evaluation_id]}" for ue in ues]) + + " | ".join([f"{up[1]}" for up in ue_poids]) + " |