Skip to content
Snippets Groups Projects
Commit 302de42b authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

Ajout des balises BUT parcours_titre, parcours_code, refcomp_specialite,...

Ajout des balises BUT parcours_titre, parcours_code, refcomp_specialite, refcomp_specialite_long pour les templates lettres individuelles.
parent 43a9dae8
Branches main
No related tags found
No related merge requests found
...@@ -682,6 +682,38 @@ def get_etud_rangs_groups( ...@@ -682,6 +682,38 @@ def get_etud_rangs_groups(
return rang_gr, ninscrits_gr, gr_name return rang_gr, ninscrits_gr, gr_name
def dict_infos_parcours_etud(etudid: int, formsemestre: FormSemestre) -> dict:
"""Retourne un dictionnaire avec les informations sur le parcours de l'étudiant:
parcours_titre, parcours_code, refcomp_specialite, refcomp_specialite_long
Si non BUT, tous les champs sont vides.
"""
infos = {
"parcours_titre": "",
"parcours_code": "",
"refcomp_specialite": "",
"refcomp_specialite_long": "",
}
# Parcours BUT
if formsemestre.formation.is_apc():
res: ResultatsSemestreBUT = res_sem.load_formsemestre_results(formsemestre)
try:
parcour_id = res.etuds_parcour_id[etudid]
except KeyError as exc:
log("sco_bulletins: ScoTemporaryError 240222")
raise ScoTemporaryError() from exc
parcour: ApcParcours = (
db.session.get(ApcParcours, parcour_id) if parcour_id is not None else None
)
if parcour:
infos["parcours_titre"] = parcour.libelle or ""
infos["parcours_code"] = parcour.code or ""
refcomp = parcour.referentiel
if refcomp:
infos["refcomp_specialite"] = refcomp.specialite
infos["refcomp_specialite_long"] = refcomp.specialite_long
return infos
def etud_descr_situation_semestre( def etud_descr_situation_semestre(
etudid, etudid,
formsemestre: FormSemestre, formsemestre: FormSemestre,
...@@ -734,28 +766,7 @@ def etud_descr_situation_semestre( ...@@ -734,28 +766,7 @@ def etud_descr_situation_semestre(
infos["descr_defaillance"] = "" infos["descr_defaillance"] = ""
# Parcours BUT infos.update(dict_infos_parcours_etud(etudid, formsemestre))
infos["parcours_titre"] = ""
infos["parcours_code"] = ""
infos["refcomp_specialite"] = ""
infos["refcomp_specialite_long"] = ""
if formsemestre.formation.is_apc():
res: ResultatsSemestreBUT = res_sem.load_formsemestre_results(formsemestre)
try:
parcour_id = res.etuds_parcour_id[etudid]
except KeyError as exc:
log("sco_bulletins: ScoTemporaryError 240222")
raise ScoTemporaryError() from exc
parcour: ApcParcours = (
db.session.get(ApcParcours, parcour_id) if parcour_id is not None else None
)
if parcour:
infos["parcours_titre"] = parcour.libelle or ""
infos["parcours_code"] = parcour.code or ""
refcomp = parcour.referentiel
if refcomp:
infos["refcomp_specialite"] = refcomp.specialite
infos["refcomp_specialite_long"] = refcomp.specialite_long
# Décision: valeurs par defaut vides: # Décision: valeurs par defaut vides:
infos["decision_jury"] = infos["descr_decision_jury"] = "" infos["decision_jury"] = infos["descr_decision_jury"] = ""
......
...@@ -46,6 +46,7 @@ from app import db ...@@ -46,6 +46,7 @@ from app import db
from app.models import FormSemestre, Identite, ValidationDUT120 from app.models import FormSemestre, Identite, ValidationDUT120
import app.scodoc.sco_utils as scu import app.scodoc.sco_utils as scu
from app.scodoc import sco_bulletins
from app.scodoc import sco_bulletins_pdf from app.scodoc import sco_bulletins_pdf
from app.scodoc import sco_pv_dict from app.scodoc import sco_pv_dict
from app.scodoc import sco_pdf from app.scodoc import sco_pdf
...@@ -96,6 +97,8 @@ def pdf_lettres_individuelles( ...@@ -96,6 +97,8 @@ def pdf_lettres_individuelles(
): # decision prise ): # decision prise
etud = Identite.get_etud(decision["identite"]["etudid"]) etud = Identite.get_etud(decision["identite"]["etudid"])
params["nomEtud"] = etud.nomprenom # backward compat params["nomEtud"] = etud.nomprenom # backward compat
params.update(sco_bulletins.dict_infos_parcours_etud(etud.id, formsemestre))
bookmarks[npages + 1] = scu.suppress_accents(etud.nomprenom) bookmarks[npages + 1] = scu.suppress_accents(etud.nomprenom)
try: try:
objects += pdf_lettre_individuelle( objects += pdf_lettre_individuelle(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment