Bul. PDF: pied de page
This commit is contained in:
parent
e0a3c31f9c
commit
8ef265baab
@ -163,7 +163,9 @@ class BulletinGenerator:
|
||||
|
||||
formsemestre_id = self.infos["formsemestre_id"]
|
||||
marque_debut_bulletin = sco_pdf.DebutBulletin(
|
||||
self.infos["etud"]["nomprenom"], filigranne=self.infos["filigranne"]
|
||||
self.infos["etud"]["nomprenom"],
|
||||
filigranne=self.infos["filigranne"],
|
||||
footer_content=f"""ScoDoc - Bulletin de {self.infos["etud"]["nomprenom"]} - {time.strftime("%d/%m/%Y %H:%M")}""",
|
||||
)
|
||||
story = []
|
||||
# partie haute du bulletin
|
||||
|
@ -46,7 +46,9 @@ CONFIG.LOGO_HEADER_HEIGHT = 28
|
||||
#
|
||||
# server_url: URL du serveur ScoDoc
|
||||
# scodoc_name: le nom du logiciel (ScoDoc actuellement, voir sco_version.py)
|
||||
CONFIG.DEFAULT_PDF_FOOTER_TEMPLATE = "Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s sur %(server_url)s"
|
||||
CONFIG.DEFAULT_PDF_FOOTER_TEMPLATE = (
|
||||
"Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s"
|
||||
)
|
||||
|
||||
|
||||
# ------------- Capitalisation des UEs -------------
|
||||
|
@ -190,9 +190,10 @@ class DebutBulletin(BulMarker):
|
||||
Element vide utilisé pour générer les bookmarks
|
||||
"""
|
||||
|
||||
def __init__(self, bookmark=None, filigranne=None):
|
||||
def __init__(self, bookmark=None, filigranne=None, footer_content=None):
|
||||
self.bookmark = bookmark
|
||||
self.filigranne = filigranne
|
||||
self.footer_content = footer_content
|
||||
super().__init__()
|
||||
|
||||
|
||||
@ -298,24 +299,34 @@ class ScoDocPageTemplate(PageTemplate):
|
||||
if bookmark:
|
||||
canvas.bookmarkPage(bookmark)
|
||||
canvas.addOutlineEntry(SU(bookmark), bookmark)
|
||||
# ---- Footer
|
||||
|
||||
def draw_footer(self, canvas, content):
|
||||
"""Print the footer"""
|
||||
canvas.setFont(
|
||||
self.preferences["SCOLAR_FONT"], self.preferences["SCOLAR_FONT_SIZE_FOOT"]
|
||||
)
|
||||
d = _makeTimeDict()
|
||||
d["scodoc_name"] = sco_version.SCONAME
|
||||
d["server_url"] = self.server_name
|
||||
footer_str = SU(self.footer_template % d)
|
||||
canvas.drawString(
|
||||
self.preferences["pdf_footer_x"] * mm,
|
||||
self.preferences["pdf_footer_y"] * mm,
|
||||
footer_str,
|
||||
content,
|
||||
)
|
||||
canvas.restoreState()
|
||||
|
||||
def footer_string(self) -> str:
|
||||
"""String contenu du pied de page"""
|
||||
d = _makeTimeDict()
|
||||
d["scodoc_name"] = sco_version.SCONAME
|
||||
d["server_url"] = self.server_name
|
||||
return SU(self.footer_template % d)
|
||||
|
||||
def afterDrawPage(self, canvas, doc):
|
||||
if not self.preferences:
|
||||
return
|
||||
# ---- Footer
|
||||
foot_content = None
|
||||
if hasattr(doc, "current_footer"):
|
||||
foot_content = doc.current_footer
|
||||
self.draw_footer(canvas, foot_content or self.footer_string())
|
||||
# ---- Filigranne (texte en diagonal en haut a gauche de chaque page)
|
||||
filigranne = None
|
||||
if hasattr(doc, "filigranne"):
|
||||
@ -352,7 +363,9 @@ class BulletinDocTemplate(BaseDocTemplate):
|
||||
def afterFlowable(self, flowable):
|
||||
"""Called by Reportlab after each flowable"""
|
||||
if isinstance(flowable, DebutBulletin):
|
||||
self.current_footer = ""
|
||||
if flowable.bookmark:
|
||||
self.current_footer = flowable.footer_content
|
||||
self.canv.bookmarkPage(flowable.bookmark)
|
||||
self.canv.addOutlineEntry(
|
||||
SU(flowable.bookmark), flowable.bookmark, level=0, closed=None
|
||||
|
@ -248,7 +248,7 @@ def about(scodoc_dept=None):
|
||||
# INSTITUTION_ADDRESS = "Web <b>www.sor.bonne.top</b> - 11, rue Simon Crubelier - 75017 Paris"
|
||||
# INSTITUTION_CITY = "Paris"
|
||||
# Textareas:
|
||||
# DEFAULT_PDF_FOOTER_TEMPLATE = "Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s sur %(server_url)s"
|
||||
# DEFAULT_PDF_FOOTER_TEMPLATE = "Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s"
|
||||
|
||||
# Booléens
|
||||
# always_require_ine
|
||||
|
@ -63,7 +63,9 @@ CONFIG.LOGO_HEADER_HEIGHT = 28 # taille verticale dans le document en millimetr
|
||||
# server_url: URL du serveur ScoDoc
|
||||
# scodoc_name: le nom du logiciel (ScoDoc actuellement, voir sco_version.py)
|
||||
|
||||
CONFIG.DEFAULT_PDF_FOOTER_TEMPLATE = "Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s sur %(server_url)s"
|
||||
CONFIG.DEFAULT_PDF_FOOTER_TEMPLATE = (
|
||||
"Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s"
|
||||
)
|
||||
|
||||
|
||||
#
|
||||
|
@ -55,7 +55,7 @@ CONFIG = CFG()
|
||||
# server_url: URL du serveur ScoDoc
|
||||
# scodoc_name: le nom du logiciel (ScoDoc actuellement, voir sco_version.py)
|
||||
|
||||
# CONFIG.DEFAULT_PDF_FOOTER_TEMPLATE = "Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s sur %(server_url)s"
|
||||
# CONFIG.DEFAULT_PDF_FOOTER_TEMPLATE = "Edité par %(scodoc_name)s le %(day)s/%(month)s/%(year)s à %(hour)sh%(minute)s"
|
||||
|
||||
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user