diff --git a/apps/tesm/src/tesm/templates/tesm/license.html b/apps/tesm/src/tesm/templates/tesm/license.html index 5071580..a85b66e 100644 --- a/apps/tesm/src/tesm/templates/tesm/license.html +++ b/apps/tesm/src/tesm/templates/tesm/license.html @@ -257,7 +257,11 @@ {{ key.key_id }} {{ key.label }}
{{ key.added_at | dt }}
- {{ key.source }} + + {{ key.source | issuer_source }} + {% set erklaerung = key.source | issuer_source_hint %} + {% if erklaerung %}
{{ erklaerung }}
{% endif %} + {% if current_user.is_admin %}
str: return "ja" if value else "nein" +#: Woher ein gepinnter Ausstellerschluessel kommt -- in Klartext. +#: +#: In der Datenbank stehen die Kuerzel des Protokolls. "tofu" ist dabei +#: Fachjargon (Trust On First Use) und sah in der Spalte aus wie ein +#: Tippfehler. Uebersetzt wird an genau einer Stelle, damit die beiden +#: Anwendungen nicht auseinanderlaufen. +ISSUER_SOURCES: dict[str, tuple[str, str]] = { + "tofu": ("Erstkontakt", "beim ersten Einspielen automatisch uebernommen"), + "admin-confirmed": ( + "Bestaetigt", + "Ausstellerwechsel von einem Administrator freigegeben", + ), +} + + +def issuer_source(value: Any) -> str: + """Kurzform der Herkunft. Unbekannte Werte bleiben unveraendert sichtbar.""" + label, _ = ISSUER_SOURCES.get(str(value or ""), (str(value or "-"), "")) + return label + + +def issuer_source_hint(value: Any) -> str: + """Erklaerung zur Herkunft, oder leer.""" + return ISSUER_SOURCES.get(str(value or ""), ("", ""))[1] + + def from_json(value: Any) -> Any: """Parst einen JSON-String aus der Datenbank -- fuer Modul-/Rechtelisten. @@ -233,6 +259,8 @@ def init_app(app: Flask) -> None: number=format_number, yes_no=yes_no, from_json=from_json, + issuer_source=issuer_source, + issuer_source_hint=issuer_source_hint, ) app.jinja_env.trim_blocks = True app.jinja_env.lstrip_blocks = True