Skip to content
Snippets Groups Projects
Commit 55748e9a authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

Filigrannes bulletins étudiant. Fixes #1052

parent e2ffec1a
No related branches found
No related tags found
No related merge requests found
...@@ -296,17 +296,15 @@ def get_etud_bulletins_pdf(etudid, version="selectedevals"): ...@@ -296,17 +296,15 @@ def get_etud_bulletins_pdf(etudid, version="selectedevals"):
etud = Identite.get_etud(etudid) etud = Identite.get_etud(etudid)
fragments = [] fragments = []
bookmarks = {} bookmarks = {}
filigrannes = {}
i = 1 i = 1
for formsemestre in etud.get_formsemestres(): for formsemestre in etud.get_formsemestres():
frag, filigranne = sco_bulletins.do_formsemestre_bulletinetud( frag, _ = sco_bulletins.do_formsemestre_bulletinetud(
formsemestre, formsemestre,
etud, etud,
fmt="pdfpart", fmt="pdfpart",
version=version, version=version,
) )
fragments += frag fragments += frag
filigrannes[i] = filigranne
bookmarks[i] = formsemestre.session_id() # eg RT-DUT-FI-S1-2015 bookmarks[i] = formsemestre.session_id() # eg RT-DUT-FI-S1-2015
i = i + 1 i = i + 1
infos = {"DeptName": sco_preferences.get_preference("DeptName")} infos = {"DeptName": sco_preferences.get_preference("DeptName")}
...@@ -322,7 +320,7 @@ def get_etud_bulletins_pdf(etudid, version="selectedevals"): ...@@ -322,7 +320,7 @@ def get_etud_bulletins_pdf(etudid, version="selectedevals"):
etud.nomprenom, etud.nomprenom,
infos, infos,
bookmarks, bookmarks,
filigranne=filigrannes, # filigranne=filigrannes,
server_name=server_name, server_name=server_name,
) )
finally: finally:
......
...@@ -226,6 +226,7 @@ class DebutBulletin(BulMarker): ...@@ -226,6 +226,7 @@ class DebutBulletin(BulMarker):
""" """
def __init__(self, bookmark=None, filigranne=None, footer_content=None): def __init__(self, bookmark=None, filigranne=None, footer_content=None):
log(f"DebutBulletin: filigranne={filigranne}")
self.bookmark = bookmark self.bookmark = bookmark
self.filigranne = filigranne self.filigranne = filigranne
self.footer_content = footer_content self.footer_content = footer_content
...@@ -245,11 +246,13 @@ class ScoDocPageTemplate(PageTemplate): ...@@ -245,11 +246,13 @@ class ScoDocPageTemplate(PageTemplate):
margins=(0, 0, 0, 0), # additional margins in mm (left,top,right, bottom) margins=(0, 0, 0, 0), # additional margins in mm (left,top,right, bottom)
server_name="", server_name="",
footer_template=DEFAULT_PDF_FOOTER_TEMPLATE, footer_template=DEFAULT_PDF_FOOTER_TEMPLATE,
filigranne=None, filigranne: str | dict[int, str] | None = None,
preferences=None, # dictionnary with preferences, required preferences=None, # dictionnary with preferences, required
with_page_numbers=False, with_page_numbers=False,
): ):
"""Initialise our page template.""" """Initialise our page template.
- filigranne: chaine ou dict { page_no : str } ou None
"""
# defered import (solve circular dependency ->sco_logo ->scodoc, ->sco_pdf # defered import (solve circular dependency ->sco_logo ->scodoc, ->sco_pdf
from app.scodoc.sco_logos import find_logo from app.scodoc.sco_logos import find_logo
...@@ -378,10 +381,12 @@ class ScoDocPageTemplate(PageTemplate): ...@@ -378,10 +381,12 @@ class ScoDocPageTemplate(PageTemplate):
self.draw_footer(canv, foot_content or self.footer_string()) self.draw_footer(canv, foot_content or self.footer_string())
# ---- Filigranne (texte en diagonal en haut a gauche de chaque page) # ---- Filigranne (texte en diagonal en haut a gauche de chaque page)
filigranne = None filigranne = None
filigranne_created_by_debutbulletin = False
if hasattr(doc, "filigranne"): if hasattr(doc, "filigranne"):
# filigranne crée par DebutBulletin # filigranne crée par DebutBulletin
filigranne = doc.filigranne filigranne = doc.filigranne
if not filigranne and self.filigranne: filigranne_created_by_debutbulletin = True
if filigranne is None and self.filigranne:
if isinstance(self.filigranne, str): if isinstance(self.filigranne, str):
filigranne = self.filigranne # same for all pages filigranne = self.filigranne # same for all pages
else: else:
...@@ -394,6 +399,7 @@ class ScoDocPageTemplate(PageTemplate): ...@@ -394,6 +399,7 @@ class ScoDocPageTemplate(PageTemplate):
canv.setFillColorRGB(1.0, 0.65, 0.65, alpha=0.6) canv.setFillColorRGB(1.0, 0.65, 0.65, alpha=0.6)
canv.drawCentredString(0, 0, SU(filigranne)) canv.drawCentredString(0, 0, SU(filigranne))
canv.restoreState() canv.restoreState()
if not filigranne_created_by_debutbulletin:
doc.filigranne = None doc.filigranne = None
# Increment page number # Increment page number
self.page_number += 1 self.page_number += 1
...@@ -420,7 +426,8 @@ class BulletinDocTemplate(BaseDocTemplate): ...@@ -420,7 +426,8 @@ class BulletinDocTemplate(BaseDocTemplate):
self.canv.addOutlineEntry( self.canv.addOutlineEntry(
SU(flowable.bookmark), flowable.bookmark, level=0, closed=None SU(flowable.bookmark), flowable.bookmark, level=0, closed=None
) )
if flowable.filigranne: log(f"filigranne: {flowable.filigranne} set in {self}") # XXX
if flowable.filigranne is not None:
self.filigranne = flowable.filigranne self.filigranne = flowable.filigranne
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment