diff --git a/app/scodoc/sco_evaluations.py b/app/scodoc/sco_evaluations.py index e650d6950..7821a3198 100644 --- a/app/scodoc/sco_evaluations.py +++ b/app/scodoc/sco_evaluations.py @@ -652,12 +652,17 @@ def evaluation_describe(evaluation_id="", edit_in_place=True): ) else: # date et absences (pas pour evals de malus) - jour = E["jour"] or "pas de date" - H.append( - "
Réalisée le %s de %s à %s " - % (jour, E["heure_debut"], E["heure_fin"]) - ) if E["jour"]: + jour = E["jour"] + H.append( + "
Réalisée le %s " + % (jour) + ) + if E["heure_debut"] != E["heure_fin"]: + H.append( + "de %s à %s " + % (E["heure_debut"], E["heure_fin"]) + ) group_id = sco_groups.get_default_group(formsemestre_id) H.append( f"""
""" ) + else: + jour = "pas de date" + H.append( + "Réalisée le %s " + % (jour) + ) + H.append( '
Coefficient dans le module: %s, notes sur %g '
% (E["coefficient"], E["note_max"])
diff --git a/app/scodoc/sco_liste_notes.py b/app/scodoc/sco_liste_notes.py
index ebe75a1d8..9c00e2315 100644
--- a/app/scodoc/sco_liste_notes.py
+++ b/app/scodoc/sco_liste_notes.py
@@ -1,4 +1,4 @@
-# -*- mode: python -*-
+# -*- mode: python -*-
# -*- coding: utf-8 -*-
##############################################################################
@@ -273,8 +273,8 @@ def _make_table_notes(
"expl_key": "Rem.",
"email": "e-mail",
"emailperso": "e-mail perso",
+ "signatures": "Signatures",
}
-
rows = []
class KeyManager(dict): # comment : key (pour regrouper les comments a la fin)
@@ -437,7 +437,7 @@ def _make_table_notes(
if with_emails:
columns_ids += ["email", "emailperso"]
# Ajoute lignes en tête et moyennes
- if len(evals) > 0:
+ if len(evals) > 0 and format != "bordereau":
rows_head = [row_coefs]
if is_apc:
rows_head.append(row_poids)
@@ -465,6 +465,8 @@ def _make_table_notes(
columns_ids.append("expl_key")
elif format == "xls" or format == "xml":
columns_ids.append("comment")
+ elif format == "bordereau":
+ columns_ids.append("signatures")
# titres divers:
gl = "".join(["&group_ids%3Alist=" + str(g) for g in group_ids])
@@ -480,11 +482,38 @@ def _make_table_notes(
evalname = "%s-%s" % (module.code, ndb.DateDMYtoISO(E["jour"]))
hh = "%s, %s (%d étudiants)" % (E["description"], gr_title, len(etudid_etats))
filename = scu.make_filename("notes_%s_%s" % (evalname, gr_title_filename))
- caption = hh
- if len(e["jour"]) > 0:
- pdf_title = "%(description)s (%(jour)s)" % e
+
+ if format == "bordereau":
+ hh = " %d étudiants" % (len(etudid_etats))
+ hh += " %d absent" % (nb_abs)
+ if nb_abs > 1:
+ hh += "s"
+ hh += ", %d en attente." % (nb_att)
+
+ pdf_title = "
BORDEREAU DE SIGNATURES"
+ pdf_title += "
%(titre)s" % sem
+ pdf_title += "
(%(mois_debut)s - %(mois_fin)s)" % sem
+ pdf_title += " semestre %s %s" % (
+ sem["semestre_id"],
+ sem.get("modalite", ""),
+ )
+ pdf_title += f"
Notes du module {module.code} - {module.titre}"
+ pdf_title += "
Evaluation : %(description)s " % e
+ if len(e["jour"]) > 0:
+ pdf_title += " (%(jour)s)" % e
+ pdf_title += "(noté sur %(note_max)s )
" % e
else:
- pdf_title = "%(description)s " % e
+ hh = " %s, %s (%d étudiants)" % (
+ E["description"],
+ gr_title,
+ len(etudid_etats),
+ )
+ if len(e["jour"]) > 0:
+ pdf_title = "%(description)s (%(jour)s)" % e
+ else:
+ pdf_title = "%(description)s " % e
+
+ caption = hh
html_title = ""
base_url = "evaluation_listenotes?evaluation_id=%s" % E["evaluation_id"] + gl
html_next_section = (
@@ -499,7 +528,7 @@ def _make_table_notes(
title += " %s" % gr_title
caption = title
html_next_section = ""
- if format == "pdf":
+ if format == "pdf" or format == "bordereau":
caption = "" # same as pdf_title
pdf_title = title
html_title = f"""
Répartition des notes:" + histo + " | \n",