Version 2.7.3: Zeugenvermerk einmal und in den Dokumenteigenschaften

This commit is contained in:
alientim committed 2026-09-11 23:45:17 +02:00
1 parent 92c8abb79b
commit ce22239d78
7 files changed
+38 -11

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "tesm-core"
version = "2.7.2"
version = "2.7.3"
description = "Gemeinsames Anwendungsgeruest (Auth, RBAC, Navigation, Design-System, Migrationen) fuer TESM und TESM-Lizenzserver"
requires-python = ">=3.11"
dependencies = [
@@ -148,7 +148,7 @@ def create_base_app(
#: Wortmarke, ohne Zeile darunter; die Marke selbst zeigen beide
#: Anwendungen.
auth_tagline: str = "",
app_version: str = "2.7.2",
app_version: str = "2.7.3",
built_in_trusted_keys: tuple[str, ...] = (),
enable_license: bool = True,
template_folder: str | None = None,
@@ -280,7 +280,13 @@ async function nachbearbeiten(
const hoehe = (png.height / png.width) * breite;
seite.drawImage(png, { x: eintrag.x, y: eintrag.y, width: breite, height: hoehe });
const zeilen = [`${eintrag.name} | ${eintrag.zeit}`];
if (zeuge) zeilen.push(`In TESM abgelegt durch ${zeuge}`);
// Der Zeugenvermerk gehoert zum Dokument, nicht zu jeder Unterschrift:
// unter drei Unterschriften stand dreimal derselbe Satz. Sichtbar
// erscheint er deshalb nur unter der ersten -- fest steht er ohnehin in
// den Dokumenteigenschaften und im Aenderungsprotokoll.
if (zeuge && eintrag === unterschriften[0]) {
zeilen.push(`In TESM abgelegt durch ${zeuge}`);
}
// Die Schrift waechst mit der Unterschrift: wer sie kleiner zieht, will
// den ganzen Block kleiner haben, nicht eine Zeichnung mit einer
// Bildunterschrift in Originalgroesse daneben.
@@ -311,6 +317,20 @@ async function nachbearbeiten(
}
}
if (unterschriften.length) {
// In den Dokumenteigenschaften -- dort sucht man so etwas, und dort steht
// es einmal statt unter jeder Unterschrift. Jeder Betrachter zeigt das
// an, auch ausserhalb von TESM.
const namen = unterschriften.map((eintrag) => eintrag.name);
const wann = unterschriften[unterschriften.length - 1].zeit;
dokument.setAuthor(namen.join(", "));
dokument.setSubject(
`Unterschrieben am ${wann}` + (zeuge ? ` | in TESM abgelegt durch ${zeuge}` : "")
);
dokument.setProducer("TESM");
dokument.setModificationDate(new Date());
}
if (abschliessen) {
// Alle Felder werden Teil der Seite. Danach gibt es kein Formular mehr --
// gewollt: so kann niemand mehr etwas verstellen.
@@ -664,7 +684,9 @@ async function pdfBetrachter(behaelter, seiten, url, basis, { formulare = true }
const text = document.createElement("div");
text.className = "viewer__unterschrifttext";
text.textContent = `${eintrag.name} | ${eintrag.zeit}`;
if (zeuge) text.textContent += ` / In TESM abgelegt durch ${zeuge}`;
if (zeuge && eintrag === unterschriften[0]) {
text.textContent += ` / In TESM abgelegt durch ${zeuge}`;
}
const griff = document.createElement("button");
griff.type = "button";
griff.className = "viewer__unterschriftgriff";
@@ -834,6 +856,8 @@ export function initFilePreview(wurzel = document) {
const padAbbrechen = stueck("signabbrechen");
const padHinweis = stueck("signhinweis");
const basis = rumpf.dataset.viewerPdfjs || "";
// Der Anmeldename, nicht der volle Name: er ist eindeutig, und genau das
// soll die Zeile belegen.
const konto = rumpf.dataset.viewerKonto || "";
const bezeugen = rumpf.dataset.viewerZeuge === "1";
// Die Uhr des Servers, nicht die des Tablets: eine verstellte Uhr am Geraet
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "tesm-licensing"
version = "2.7.2"
version = "2.7.3"
description = "Ed25519-basiertes Lizenz- und Aktivierungsprotokoll fuer TESM und TESM-Lizenzserver"
requires-python = ">=3.11"
dependencies = ["cryptography>=42"]