Option to show emails in marks listings

This commit is contained in:
viennet 2020-10-06 12:13:04 +02:00
parent b4e1b0a955
commit a934542537

View File

@ -137,6 +137,17 @@ def do_evaluation_listenotes(context, REQUEST):
"template": '<tr><td class="tf-fieldlabel">%(label)s</td><td class="tf-field">%(elem)s &nbsp;&nbsp;', "template": '<tr><td class="tf-fieldlabel">%(label)s</td><td class="tf-field">%(elem)s &nbsp;&nbsp;',
}, },
), ),
(
"note_sur_20",
{
"input_type": "checkbox",
"title": "",
"allowed_values": ("yes",),
"labels": ("notes sur 20",),
"attributes": ('onclick="document.tf.submit();"',),
"template": "%(elem)s &nbsp;&nbsp;",
},
),
( (
"hide_groups", "hide_groups",
{ {
@ -149,12 +160,12 @@ def do_evaluation_listenotes(context, REQUEST):
}, },
), ),
( (
"note_sur_20", "with_emails",
{ {
"input_type": "checkbox", "input_type": "checkbox",
"title": "", "title": "",
"allowed_values": ("yes",), "allowed_values": ("yes",),
"labels": ("notes sur 20",), "labels": ("montrer les e-mails",),
"attributes": ('onclick="document.tf.submit();"',), "attributes": ('onclick="document.tf.submit();"',),
"template": "%(elem)s</td></tr>", "template": "%(elem)s</td></tr>",
}, },
@ -183,6 +194,7 @@ def do_evaluation_listenotes(context, REQUEST):
anonymous_listing = tf[2]["anonymous_listing"] anonymous_listing = tf[2]["anonymous_listing"]
note_sur_20 = tf[2]["note_sur_20"] note_sur_20 = tf[2]["note_sur_20"]
hide_groups = tf[2]["hide_groups"] hide_groups = tf[2]["hide_groups"]
with_emails = tf[2]["with_emails"]
return _make_table_notes( return _make_table_notes(
context, context,
REQUEST, REQUEST,
@ -193,6 +205,7 @@ def do_evaluation_listenotes(context, REQUEST):
anonymous_listing=anonymous_listing, anonymous_listing=anonymous_listing,
group_ids=tf[2]["group_ids"], group_ids=tf[2]["group_ids"],
hide_groups=hide_groups, hide_groups=hide_groups,
with_emails=with_emails,
) )
@ -205,6 +218,7 @@ def _make_table_notes(
note_sur_20=False, note_sur_20=False,
anonymous_listing=False, anonymous_listing=False,
hide_groups=False, hide_groups=False,
with_emails=False,
group_ids=[], group_ids=[],
): ):
"""Generate table for evaluations marks""" """Generate table for evaluations marks"""
@ -253,6 +267,8 @@ def _make_table_notes(
"prenom": "Prénom", "prenom": "Prénom",
"nomprenom": "Nom", "nomprenom": "Nom",
"expl_key": "Rem.", "expl_key": "Rem.",
"email" : "e-mail",
"emailperso" : "e-mail perso"
} }
rows = [] rows = []
@ -307,6 +323,8 @@ def _make_table_notes(
"prenom": strcapitalize(strlower(etud["prenom"])), "prenom": strcapitalize(strlower(etud["prenom"])),
"nomprenom": etud["nomprenom"], "nomprenom": etud["nomprenom"],
"group": grc, "group": grc,
"email" : etud["email"],
"emailperso" : etud["emailperso"],
"_css_row_class": css_row_class or "", "_css_row_class": css_row_class or "",
} }
) )
@ -377,7 +395,10 @@ def _make_table_notes(
) )
columns_ids.append("moymod") columns_ids.append("moymod")
# ajoute lignes en tête et moyennes # Ajoute colonnes emails tout à droite:
if with_emails:
columns_ids += [ "email", "emailperso" ]
# Ajoute lignes en tête et moyennes
if len(evals) > 0: if len(evals) > 0:
rows = [coefs, note_max] + rows rows = [coefs, note_max] + rows
rows.append(moys) rows.append(moys)
@ -409,6 +430,8 @@ def _make_table_notes(
gl = "&amp;anonymous_listing%3Alist=yes" + gl gl = "&amp;anonymous_listing%3Alist=yes" + gl
if hide_groups: if hide_groups:
gl = "&amp;hide_groups%3Alist=yes" + gl gl = "&amp;hide_groups%3Alist=yes" + gl
if with_emails:
gl = "&amp;with_emails%3Alist=yes" + gl
if len(evals) == 1: if len(evals) == 1:
evalname = "%s-%s" % (Mod["code"], DateDMYtoISO(E["jour"])) evalname = "%s-%s" % (Mod["code"], DateDMYtoISO(E["jour"]))
hh = "%s, %s (%d étudiants)" % (E["description"], gr_title, len(etudids)) hh = "%s, %s (%d étudiants)" % (E["description"], gr_title, len(etudids))