Modif affichage poids evals (non nuls)

This commit is contained in:
Emmanuel Viennet 2024-01-25 20:54:12 +01:00
parent a4b25eb47b
commit 54be507e35
3 changed files with 17 additions and 8 deletions

View File

@ -428,8 +428,8 @@ class Evaluation(db.Model):
def get_ue_poids_str(self) -> str: def get_ue_poids_str(self) -> str:
"""string describing poids, for excel cells and pdfs """string describing poids, for excel cells and pdfs
Note: si les poids ne sont pas initialisés (poids par défaut), Note: les poids nuls ou non initialisés (poids par défaut),
ils ne sont pas affichés. ne sont pas affichés.
""" """
# restreint aux UE du semestre dans lequel est cette évaluation # 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 # 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( for p in sorted(
self.ue_poids, key=lambda p: (p.ue.numero or 0, p.ue.acronyme) 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
] ]
) )

View File

@ -29,6 +29,7 @@
""" """
from collections import defaultdict from collections import defaultdict
import numpy as np import numpy as np
import pandas as pd
import flask import flask
from flask import url_for, g, request from flask import url_for, g, request
@ -684,7 +685,7 @@ def _make_table_notes(
def _add_eval_columns( def _add_eval_columns(
evaluation: Evaluation, evaluation: Evaluation,
eval_state, eval_state,
evals_poids, evals_poids: pd.DataFrame | None,
ues, ues,
rows, rows,
titles, titles,
@ -834,14 +835,22 @@ def _add_eval_columns(
return notes, nb_abs, nb_att # pour histogramme 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" "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 ( return (
"""<table class="eval_poids" title="poids vers les UE"><tr><td>""" """<table class="eval_poids" title="poids vers les UE"><tr><td>"""
+ "</td><td>".join([f"{ue.acronyme}" for ue in ues]) + "</td><td>".join([f"{up[0]}" for up in ue_poids])
+ "</td></tr>" + "</td></tr>"
+ "<tr><td>" + "<tr><td>"
+ "</td><td>".join([f"{evals_poids[ue.id][evaluation_id]}" for ue in ues]) + "</td><td>".join([f"{up[1]}" for up in ue_poids])
+ "</td></tr></table>" + "</td></tr></table>"
) )

View File

@ -1,7 +1,7 @@
# -*- mode: python -*- # -*- mode: python -*-
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
SCOVERSION = "9.6.84" SCOVERSION = "9.6.85"
SCONAME = "ScoDoc" SCONAME = "ScoDoc"