From e5ae10814f807fe56f57986a21bb624146fadc81 Mon Sep 17 00:00:00 2001 From: Tim Eertmoed Date: Fri, 11 Sep 2026 21:36:25 +0200 Subject: [PATCH] Version 2.7.1: Signaturverzeichnis ueberlebt die Archivierung --- apps/tesm-license/pyproject.toml | 2 +- packages/tesm-core/pyproject.toml | 2 +- packages/tesm-core/src/tesm_core/app_factory.py | 2 +- .../src/tesm_core/static/tesm_core/js/viewer.js | 12 +++++++++--- packages/tesm-licensing-server/pyproject.toml | 4 ++-- packages/tesm-licensing/pyproject.toml | 2 +- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/tesm-license/pyproject.toml b/apps/tesm-license/pyproject.toml index cde5e86..bfe23c2 100644 --- a/apps/tesm-license/pyproject.toml +++ b/apps/tesm-license/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tesm-license" -version = "2.7.0" +version = "2.7.1" description = "TESM-Lizenzserver -- Kunden, Tickets, Lizenzen, Aktivierung" requires-python = ">=3.11" dependencies = [ diff --git a/packages/tesm-core/pyproject.toml b/packages/tesm-core/pyproject.toml index dbe60fe..4259a29 100644 --- a/packages/tesm-core/pyproject.toml +++ b/packages/tesm-core/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tesm-core" -version = "2.7.0" +version = "2.7.1" description = "Gemeinsames Anwendungsgeruest (Auth, RBAC, Navigation, Design-System, Migrationen) fuer TESM und TESM-Lizenzserver" requires-python = ">=3.11" dependencies = [ diff --git a/packages/tesm-core/src/tesm_core/app_factory.py b/packages/tesm-core/src/tesm_core/app_factory.py index 57d893e..9ad0785 100644 --- a/packages/tesm-core/src/tesm_core/app_factory.py +++ b/packages/tesm-core/src/tesm_core/app_factory.py @@ -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.0", + app_version: str = "2.7.1", built_in_trusted_keys: tuple[str, ...] = (), enable_license: bool = True, template_folder: str | None = None, diff --git a/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js b/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js index 8cd0b16..8e85231 100644 --- a/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js +++ b/packages/tesm-core/src/tesm_core/static/tesm_core/js/viewer.js @@ -905,10 +905,16 @@ export function initFilePreview(wurzel = document) { // Ohne Endung: die haengt der Server an. Eine Datei, die auf ".pdf.txt" // oder auf gar nichts endet, oeffnet auf einer Freigabe nichts mehr. // Der Zusatz haelt die Vorlage heil, auch wenn jemand blind speichert. - // Einmal "-ausgefuellt" reicht: wer eine ausgefuellte Fassung noch einmal - // oeffnet und speichert, bekam sonst "...-ausgefuellt-ausgefuellt". + // Der Zusatz sagt, was in der Datei steht: unterschrieben schlaegt + // ausgefuellt. Und einmal reicht -- wer eine Fassung noch einmal oeffnet + // und speichert, bekam sonst "...-ausgefuellt-ausgefuellt". const rumpfname = datei.replace(/\.pdf$/i, ""); - nameFeld.value = /-ausgefuellt$/i.test(rumpfname) ? rumpfname : `${rumpfname}-ausgefuellt`; + const zusatz = pdf?.unterschriften().length ? "-unterschrieben" : "-ausgefuellt"; + const bereits = new RegExp(`${zusatz}$`, "i").test(rumpfname); + // Eine unterschriebene Fassung aus einer ausgefuellten: der alte Zusatz + // haette sonst zweimal dran gestanden ("-ausgefuellt-unterschrieben"). + const blank = rumpfname.replace(/-(ausgefuellt|unterschrieben)$/i, ""); + nameFeld.value = bereits ? rumpfname : `${blank}${zusatz}`; ersetzenFeld.checked = false; ersetzenKasten?.classList.remove("is-gefragt"); }; diff --git a/packages/tesm-licensing-server/pyproject.toml b/packages/tesm-licensing-server/pyproject.toml index fe0f74e..989565f 100644 --- a/packages/tesm-licensing-server/pyproject.toml +++ b/packages/tesm-licensing-server/pyproject.toml @@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta" [project] name = "tesm-licensing-server" -version = "2.7.0" +version = "2.7.1" description = "Serverhaelfte des TESM-Lizenzprotokolls: ausstellen, erneuern, antworten" requires-python = ">=3.11" -dependencies = ["tesm-licensing==2.7.0", "cryptography>=41"] +dependencies = ["tesm-licensing==2.7.1", "cryptography>=41"] [tool.setuptools.packages.find] where = ["src"] diff --git a/packages/tesm-licensing/pyproject.toml b/packages/tesm-licensing/pyproject.toml index 066d6ac..46e139e 100644 --- a/packages/tesm-licensing/pyproject.toml +++ b/packages/tesm-licensing/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tesm-licensing" -version = "2.7.0" +version = "2.7.1" description = "Ed25519-basiertes Lizenz- und Aktivierungsprotokoll fuer TESM und TESM-Lizenzserver" requires-python = ">=3.11" dependencies = ["cryptography>=42"]