diff --git a/app/scodoc/sco_evaluations.py b/app/scodoc/sco_evaluations.py index 0fba0b3c0..2ed311d38 100644 --- a/app/scodoc/sco_evaluations.py +++ b/app/scodoc/sco_evaluations.py @@ -1070,12 +1070,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 d023dc849..101b7db87 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 -*-
##############################################################################
@@ -271,8 +271,8 @@ def _make_table_notes(
"expl_key": "Rem.",
"email": "e-mail",
"emailperso": "e-mail perso",
+ "signatures": "Signatures",
}
-
rows = []
class keymgr(dict): # comment : key (pour regrouper les comments a la fin)
@@ -399,7 +399,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 = [coefs, note_max] + rows
rows.append(moys)
# ajout liens HTMl vers affichage une evaluation:
@@ -423,6 +423,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])
@@ -436,13 +438,33 @@ def _make_table_notes(
gl = "&with_emails%3Alist=yes" + gl
if len(evals) == 1:
evalname = "%s-%s" % (Mod["code"], ndb.DateDMYtoISO(E["jour"]))
- hh = "%s, %s (%d étudiants)" % (E["description"], gr_title, len(etudids))
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(etudids))
+ 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 += '
Notes du module %(code)s - %(titre)s' % Mod
+ 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(etudids))
+ 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 = (
@@ -457,7 +479,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 = (
@@ -485,7 +507,8 @@ def _make_table_notes(
preferences=sco_preferences.SemPreferences(M["formsemestre_id"]),
# html_generate_cells=False # la derniere ligne (moyennes) est incomplete
)
-
+ if format == "bordereau":
+ format = "pdf"
t = tab.make_page(format=format, with_html_headers=False)
if format != "html":
return t
@@ -504,12 +527,12 @@ def _make_table_notes(
# Une seule evaluation: ajoute histogramme
histo = histogram_notes(notes)
# 2 colonnes: histo, comments
- C = [
- "
Répartition des notes:" - + histo - + " | \n",
- '',
- ]
+ C = []
+ C.append('
|