Bulletin démissionnaires: closes #226

This commit is contained in:
Emmanuel Viennet 2021-12-16 12:41:37 +01:00
parent e06cf82db8
commit ef8e9b4ef0

View File

@ -219,6 +219,7 @@ class ResultatsSemestreBUT:
def bulletin_etud(self, etud, formsemestre) -> dict: def bulletin_etud(self, etud, formsemestre) -> dict:
"""Le bulletin de l'étudiant dans ce semestre""" """Le bulletin de l'étudiant dans ce semestre"""
etat_inscription = etud.etat_inscription(formsemestre.id)
d = { d = {
"version": "0", "version": "0",
"type": "BUT", "type": "BUT",
@ -231,10 +232,30 @@ class ResultatsSemestreBUT:
"titre": formsemestre.formation.titre, "titre": formsemestre.formation.titre,
}, },
"formsemestre_id": formsemestre.id, "formsemestre_id": formsemestre.id,
"ressources": self.etud_mods_results(etud, self.ressources), "etat_inscription": etat_inscription,
"saes": self.etud_mods_results(etud, self.saes), "options": bulletin_option_affichage(formsemestre),
"ues": {ue.acronyme: self.etud_ue_results(etud, ue) for ue in self.ues}, }
"semestre": { semestre_infos = {
"etapes": { # XXX TODO
# à spécifier: liste des étapes Apogée
},
"date_debut": formsemestre.date_debut.isoformat(),
"date_fin": formsemestre.date_fin.isoformat(),
"annee_universitaire": self.formsemestre.annee_scolaire_str(),
"inscription": "TODO-MM-JJ", # XXX TODO
"numero": formsemestre.semestre_id,
"decision": None, # XXX TODO
"situation": "non disponible", # "Décision jury: Validé. Diplôme obtenu.", # XXX TODO
"date_jury": "AAAA-MM-JJ", # XXX TODO
"groupes": [], # XXX TODO
"absences": { # XXX TODO
"injustifie": 1,
"total": 33,
},
}
if etat_inscription == scu.INSCRIT:
semestre_infos.update(
{
"notes": { # moyenne des moyennes générales du semestre "notes": { # moyenne des moyennes générales du semestre
"value": fmt_note(self.etud_moy_gen[etud.id]), "value": fmt_note(self.etud_moy_gen[etud.id]),
"min": fmt_note(self.etud_moy_gen.min()), "min": fmt_note(self.etud_moy_gen.min()),
@ -245,25 +266,39 @@ class ResultatsSemestreBUT:
"value": self.etud_moy_gen_ranks[etud.id], "value": self.etud_moy_gen_ranks[etud.id],
"total": len(self.etuds), "total": len(self.etuds),
}, },
"absences": { # XXX TODO
"injustifie": 1,
"total": 33,
}, },
"etapes": { # XXX TODO )
# à spécifier: liste des étapes Apogée d.update(
{
"ressources": self.etud_mods_results(etud, self.ressources),
"saes": self.etud_mods_results(etud, self.saes),
"ues": {
ue.acronyme: self.etud_ue_results(etud, ue) for ue in self.ues
}, },
"date_debut": formsemestre.date_debut.isoformat(), "semestre": semestre_infos,
"date_fin": formsemestre.date_fin.isoformat(),
"annee_universitaire": self.formsemestre.annee_scolaire_str(),
"inscription": "TODO-MM-JJ", # XXX TODO
"numero": formsemestre.semestre_id,
"decision": None, # XXX TODO
"situation": "Décision jury: Validé. Diplôme obtenu.", # XXX TODO
"date_jury": "AAAA-MM-JJ", # XXX TODO
"groupes": [], # XXX TODO
}, },
"options": bulletin_option_affichage(formsemestre), )
else:
semestre_infos.update(
{
"notes": {
"value": "DEM",
"min": "",
"moy": "",
"max": "",
},
"rang": {"value": "DEM", "total": len(self.etuds)},
} }
)
d.update(
{
"semestre": semestre_infos,
"ressources": {},
"saes": {},
"ues": {},
}
)
return d return d