diff --git a/misc/createtables.sql b/misc/createtables.sql
index 9196fb3e8e..bb809dfe9c 100644
--- a/misc/createtables.sql
+++ b/misc/createtables.sql
@@ -394,7 +394,7 @@ CREATE TABLE notes_formsemestre (
elt_annee_apo text -- code element annee Apogee, eg VRT1A ou V2INLA,V2INCA
) WITH OIDS;
--- id des utilsateurs responsables (aka directeurs des etudes) du semestre:
+-- id des utilisateurs responsables (aka directeurs des etudes) du semestre:
CREATE TABLE notes_formsemestre_responsables (
formsemestre_id text REFERENCES notes_formsemestre(formsemestre_id) ON DELETE CASCADE,
responsable_id text NOT NULL,
diff --git a/sco_formsemestre_status.py b/sco_formsemestre_status.py
index fe07074261..8b9116b62e 100644
--- a/sco_formsemestre_status.py
+++ b/sco_formsemestre_status.py
@@ -907,6 +907,12 @@ def formsemestre_status(context, formsemestre_id=None, REQUEST=None):
Responsable |
Evaluations | """
)
+ mails_enseignants = set(
+ [
+ context.Users.user_info(ens_id, REQUEST)["email"]
+ for ens_id in sem["responsables"]
+ ]
+ ) # adr. mail des enseignants
for M in Mlist:
Mod = M["module"]
ModDescr = (
@@ -923,6 +929,12 @@ def formsemestre_status(context, formsemestre_id=None, REQUEST=None):
ModInscrits = context.do_moduleimpl_inscription_list(
moduleimpl_id=M["moduleimpl_id"]
)
+ mails_enseignants.add(
+ context.Users.user_info(M["responsable_id"], REQUEST)["email"]
+ )
+ mails_enseignants |= set(
+ [context.Users.user_info(m["ens_id"], REQUEST)["email"] for m in M["ens"]]
+ )
ue = M["ue"]
if prev_ue_id != ue["ue_id"]:
prev_ue_id = ue["ue_id"]
@@ -1047,5 +1059,11 @@ def formsemestre_status(context, formsemestre_id=None, REQUEST=None):
)
# --- LISTE DES ETUDIANTS
H += ['', context.make_listes_sem(sem, REQUEST), "
"]
-
+ # --- Lien mail enseignants:
+ adrlist = list(mails_enseignants - set([""]))
+ if adrlist:
+ H.append(
+ 'Courrier aux %d enseignants du semestre
'
+ % (",".join(adrlist), len(adrlist))
+ )
return "".join(H) + context.sco_footer(REQUEST)