diff --git a/app/scodoc/sco_poursuite_dut.py b/app/scodoc/sco_poursuite_dut.py
index add16a0e949ffc394972f969c1c259f46c61b858..9cc47655309b643164624a2e52558554c1bfc490 100644
--- a/app/scodoc/sco_poursuite_dut.py
+++ b/app/scodoc/sco_poursuite_dut.py
@@ -47,7 +47,7 @@ from app.scodoc.codes_cursus import code_semestre_validant, code_semestre_attent
import sco_version
-def etud_get_poursuite_info(sem: dict, etud: dict) -> dict:
+def etud_get_poursuite_info(sem: dict, etud: dict, keep_numeric: bool = False) -> dict:
"""{ 'nom' : ..., 'semlist' : [ { 'semestre_id': , 'moy' : ... }, {}, ...] }"""
infos = {}
infos.update(etud) # copie nom, prenom, civilite, ...
@@ -72,7 +72,9 @@ def etud_get_poursuite_info(sem: dict, etud: dict) -> dict:
moy_ues.append(
(
ue["acronyme"],
- scu.fmt_note(ue_status["moy"]),
+ scu.fmt_note(
+ ue_status["moy"], keep_numeric=keep_numeric
+ ),
)
)
else:
@@ -91,7 +93,8 @@ def etud_get_poursuite_info(sem: dict, etud: dict) -> dict:
if modimpl["module"]["ue_id"] == ue["ue_id"]:
code_module = modimpl["module"]["code"] or ""
note_module = scu.fmt_note(
- nt.get_etud_mod_moy(modimpl["moduleimpl_id"], etudid)
+ nt.get_etud_mod_moy(modimpl["moduleimpl_id"], etudid),
+ keep_numeric=keep_numeric,
)
# si étudiant inscrit au module, sauf BUT
if (note_module != "NI") and not nt.is_apc:
@@ -120,8 +123,16 @@ def etud_get_poursuite_info(sem: dict, etud: dict) -> dict:
and nt.get_etud_etat(etudid) == scu.INSCRIT
):
d = [
- ("moy", scu.fmt_note(nt.get_etud_moy_gen(etudid))),
- ("moy_promo", scu.fmt_note(nt.moy_moy)),
+ (
+ "moy",
+ scu.fmt_note(
+ nt.get_etud_moy_gen(etudid), keep_numeric=keep_numeric
+ ),
+ ),
+ (
+ "moy_promo",
+ scu.fmt_note(nt.moy_moy, keep_numeric=keep_numeric),
+ ),
("rang", nt.get_etud_rang(etudid)),
("effectif", len(nt.T)),
("date_debut", s["date_debut"]),
@@ -182,6 +193,7 @@ def _get_etud_info_groupes(group_ids, etat=None):
def formsemestre_poursuite_report(formsemestre_id, fmt="html"):
"""Table avec informations "poursuite" """
+ keep_numeric = fmt in ("xls", "xlsx", "json", "csv")
sem = sco_formsemestre.get_formsemestre(formsemestre_id)
etuds = _get_etud_info_groupes([sco_groups.get_default_group(formsemestre_id)])
@@ -194,7 +206,7 @@ def formsemestre_poursuite_report(formsemestre_id, fmt="html"):
etud["_nom_target"] = fiche_url
etud["_prenom_target"] = fiche_url
etud["_nom_td_attrs"] = f"""id="{etud['etudid']}" class="etudinfo" """
- info = etud_get_poursuite_info(sem, etud)
+ info = etud_get_poursuite_info(sem, etud, keep_numeric=keep_numeric)
idd = _flatten_info(info)
# On recupere la totalite des UEs dans ids
for key in idd: