Fix: bul. classique JSON format long_mat avec UE cap.

This commit is contained in:
Emmanuel Viennet 2022-12-02 15:57:25 +01:00
parent 40b6ad21e1
commit 0d8ca2e42c

View File

@ -171,7 +171,7 @@ def formsemestre_bulletinetud_published_dict(
pid = partition["partition_id"]
partitions_etud_groups[pid] = sco_groups.get_etud_groups_in_partition(pid)
ues = nt.get_ues_stat_dict()
ues_stat = nt.get_ues_stat_dict()
modimpls = nt.get_modimpls_dict()
nbetuds = len(nt.etud_moy_gen_ranks)
moy_gen = scu.fmt_note(nt.get_etud_moy_gen(etudid))
@ -214,28 +214,28 @@ def formsemestre_bulletinetud_published_dict(
# Liste les UE / modules /evals
d["ue"] = []
d["ue_capitalisee"] = []
for ue in ues:
ue_status = nt.get_etud_ue_status(etudid, ue["ue_id"])
if ue["ects"] is None:
for ue_st in ues_stat:
ue_status = nt.get_etud_ue_status(etudid, ue_st["ue_id"])
if ue_st["ects"] is None:
ects_txt = ""
else:
ects_txt = f"{ue['ects']:2.3g}"
rang, effectif = nt.get_etud_ue_rang(ue["ue_id"], etudid)
ects_txt = f"{ue_st['ects']:2.3g}"
rang, effectif = nt.get_etud_ue_rang(ue_st["ue_id"], etudid)
u = dict(
id=ue["ue_id"],
numero=quote_xml_attr(ue["numero"]),
acronyme=quote_xml_attr(ue["acronyme"]),
titre=quote_xml_attr(ue["titre"]),
id=ue_st["ue_id"],
numero=quote_xml_attr(ue_st["numero"]),
acronyme=quote_xml_attr(ue_st["acronyme"]),
titre=quote_xml_attr(ue_st["titre"]),
note=dict(
value=scu.fmt_note(ue_status["cur_moy_ue"] if ue_status else ""),
min=scu.fmt_note(ue["min"]),
max=scu.fmt_note(ue["max"]),
moy=scu.fmt_note(ue["moy"]),
min=scu.fmt_note(ue_st["min"]),
max=scu.fmt_note(ue_st["max"]),
moy=scu.fmt_note(ue_st["moy"]),
),
rang=rang,
effectif=effectif,
ects=ects_txt,
code_apogee=quote_xml_attr(ue["code_apogee"]),
code_apogee=quote_xml_attr(ue_st["code_apogee"]),
)
d["ue"].append(u)
@ -243,7 +243,7 @@ def formsemestre_bulletinetud_published_dict(
u["module"] = []
# Structure UE/Matière/Module
# Recodé en 2022
ue = UniteEns.query.get(ue["ue_id"])
ue = UniteEns.query.get(ue_st["ue_id"])
u["matiere"] = [
{
"matiere_id": mat.id,
@ -269,23 +269,23 @@ def formsemestre_bulletinetud_published_dict(
u["module"] = _list_modimpls(
nt,
etudid,
[mod for mod in modimpls if mod["module"]["ue_id"] == ue["ue_id"]],
[mod for mod in modimpls if mod["module"]["ue_id"] == ue.id],
prefs,
version,
)
# UE capitalisee (listee seulement si meilleure que l'UE courante)
# UE capitalisée (listée seulement si meilleure que l'UE courante)
if ue_status["is_capitalized"]:
try:
ects_txt = str(int(ue_status["ue"].get("ects", "")))
except:
except ValueError:
ects_txt = ""
d["ue_capitalisee"].append(
dict(
id=ue["ue_id"],
numero=quote_xml_attr(ue["numero"]),
acronyme=quote_xml_attr(ue["acronyme"]),
titre=quote_xml_attr(ue["titre"]),
id=ue.id,
numero=quote_xml_attr(ue.numero),
acronyme=quote_xml_attr(ue.acronyme),
titre=quote_xml_attr(ue.titre),
note=scu.fmt_note(ue_status["moy"]),
coefficient_ue=scu.fmt_note(ue_status["coef_ue"]),
date_capitalisation=ndb.DateDMYtoISO(ue_status["event_date"]),