From b21ad91ec2676e50c3f30f6ad9a918694efff6a7 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet <emmanuel.viennet@gmail.com> Date: Mon, 10 Mar 2025 19:03:13 +0100 Subject: [PATCH] =?UTF-8?q?Format=20des=20nombres=20de=20la=20table=20'Pou?= =?UTF-8?q?rsuites=20d'=C3=A9tudes'.=20Closes=20#1042?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scodoc/sco_poursuite_dut.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/app/scodoc/sco_poursuite_dut.py b/app/scodoc/sco_poursuite_dut.py index add16a0e..9cc47655 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: -- GitLab