Indique semestre dans sujet mail bulletin. Implements #954.

This commit is contained in:
Emmanuel Viennet 2024-07-16 14:55:57 +02:00
parent a25407565c
commit 576383da8d
2 changed files with 21 additions and 13 deletions

View File

@ -1102,7 +1102,9 @@ def do_formsemestre_bulletinetud(
flash(f"{etud.nomprenom} n'a pas d'adresse e-mail !") flash(f"{etud.nomprenom} n'a pas d'adresse e-mail !")
return False, bul_dict["filigranne"] return False, bul_dict["filigranne"]
else: else:
mail_bulletin(formsemestre.id, bul_dict, pdfdata, filename, recipient_addr) mail_bulletin(
formsemestre, etud, bul_dict, pdfdata, filename, recipient_addr
)
flash(f"mail envoyé à {recipient_addr}") flash(f"mail envoyé à {recipient_addr}")
return True, bul_dict["filigranne"] return True, bul_dict["filigranne"]
@ -1110,22 +1112,28 @@ def do_formsemestre_bulletinetud(
raise ValueError(f"do_formsemestre_bulletinetud: invalid format ({fmt})") raise ValueError(f"do_formsemestre_bulletinetud: invalid format ({fmt})")
def mail_bulletin(formsemestre_id, infos, pdfdata, filename, recipient_addr): def mail_bulletin(
formsemestre: FormSemestre,
etud: Identite,
infos: dict,
pdfdata,
filename,
recipient_addr,
):
"""Send bulletin by email to etud """Send bulletin by email to etud
If bul_mail_list_abs pref is true, put list of absences in mail body (text). If bul_mail_list_abs pref is true, put list of absences in mail body (text).
""" """
etud = infos["etud"] webmaster = sco_preferences.get_preference("bul_mail_contact_addr", formsemestre.id)
webmaster = sco_preferences.get_preference("bul_mail_contact_addr", formsemestre_id)
dept = scu.unescape_html( dept = scu.unescape_html(
sco_preferences.get_preference("DeptName", formsemestre_id) sco_preferences.get_preference("DeptName", formsemestre.id)
) )
copy_addr = sco_preferences.get_preference("email_copy_bulletins", formsemestre_id) copy_addr = sco_preferences.get_preference("email_copy_bulletins", formsemestre.id)
intro_mail = sco_preferences.get_preference("bul_intro_mail", formsemestre_id) intro_mail = sco_preferences.get_preference("bul_intro_mail", formsemestre.id)
if intro_mail: if intro_mail:
try: try:
hea = intro_mail % { hea = intro_mail % {
"nomprenom": etud["nomprenom"], "nomprenom": etud.nom_prenom(),
"dept": dept, "dept": dept,
"webmaster": webmaster, "webmaster": webmaster,
} }
@ -1139,12 +1147,12 @@ def mail_bulletin(formsemestre_id, infos, pdfdata, filename, recipient_addr):
if sco_preferences.get_preference("bul_mail_list_abs"): if sco_preferences.get_preference("bul_mail_list_abs"):
from app.views.assiduites import generate_bul_list from app.views.assiduites import generate_bul_list
etud_identite: Identite = Identite.get_etud(etud["etudid"])
form_semestre: FormSemestre = FormSemestre.get_formsemestre(formsemestre_id)
hea += "\n\n" hea += "\n\n"
hea += generate_bul_list(etud_identite, form_semestre) hea += generate_bul_list(etud, formsemestre)
subject = f"""Relevé de notes de {etud["nomprenom"]}""" subject = f"""Relevé de notes du semestre {
formsemestre.semestre_id if formsemestre.semestre_id >= 0 else ''
} de {etud.nom_prenom()}"""
recipients = [recipient_addr] recipients = [recipient_addr]
sender = email.get_from_addr() sender = email.get_from_addr()
if copy_addr: if copy_addr:

View File

@ -1,7 +1,7 @@
# -*- mode: python -*- # -*- mode: python -*-
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
SCOVERSION = "9.7.1" SCOVERSION = "9.7.2"
SCONAME = "ScoDoc" SCONAME = "ScoDoc"