From 312a8e281ee68c03aeb10270b38500f75ce2bf46 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Sun, 23 Aug 2026 19:31:24 +0200 Subject: [PATCH] docs(records): complete German reference coverage --- package.json | 2 +- pyproject.toml | 2 +- src/govoplan_records/backend/manifest.py | 26 +++++++++++++++++++++++- tests/test_documentation.py | 14 +++++++++++++ webui/package.json | 2 +- 5 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 tests/test_documentation.py diff --git a/package.json b/package.json index f9a703e..7aee3df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/records", - "version": "0.1.20", + "version": "0.1.21", "private": true, "description": "GovOPlaN eAkte and institutional records module.", "type": "module", diff --git a/pyproject.toml b/pyproject.toml index 5e990e5..7604a64 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "govoplan-records" -version = "0.1.20" +version = "0.1.21" description = "GovOPlaN eAkte and institutional records module." readme = "README.md" requires-python = ">=3.12" diff --git a/src/govoplan_records/backend/manifest.py b/src/govoplan_records/backend/manifest.py index 006ccd3..84c508d 100644 --- a/src/govoplan_records/backend/manifest.py +++ b/src/govoplan_records/backend/manifest.py @@ -16,6 +16,7 @@ from govoplan_core.core.module_guards import ( ) from govoplan_core.core.modules import ( CapabilityDocumentation, + DocumentationCondition, DocumentationLink, DocumentationTopic, FrontendModule, @@ -52,7 +53,7 @@ from govoplan_records.backend.archive import ( MODULE_ID = "records" MODULE_NAME = "Records" -MODULE_VERSION = "0.1.20" +MODULE_VERSION = "0.1.21" READ_SCOPE = "records:workspace:read" WRITE_SCOPE = "records:workspace:write" ADMIN_SCOPE = "records:workspace:admin" @@ -222,11 +223,31 @@ DOCUMENTATION = ( ), ), metadata={ + "kind": "reference", "help_contexts": [ "records.data-subject-requests", "records.lifecycle", ], }, + translations={ + "de": { + "title": "Datenschutzanfragen zur eAkte", + "summary": ( + "Minimierte Aktenmetadaten ausgeben und dabei Aufbewahrungs-, Sperr-, Aussonderungs- und Archivnachweise bewahren." + ), + "body": ( + "Records gleicht innerhalb eines Mandanten exakte Verweise auf Akte, Revision, Eintrag, Band, Chronologie, " + "Sperre, Aussonderung, Übergabepaket und anbietergeführte Quellen ab. Konto-, Identitäts- und " + "Mitgliedschaftsselektoren zeigen Verantwortungszuordnungen von Beschäftigten, bedeuten aber niemals, dass die " + "beschäftigte Person Gegenstand einer Akte ist. Eine Auskunft zur aktenbetroffenen Person erfordert deshalb eine " + "führende Akten- oder Quellverknüpfung. Die Ausgabe enthält begrenzte Metadaten zu Akte, Veraktung, Chronologie, " + "Sperre, Aussonderung und Übergabe. Quellinhalt, Schnappschüsse, Suchtext, undurchsichtige Kontexte und Nutzdaten, " + "Prüfsummen, Wiederholungsschlüssel, Start-URLs, Archivmanifeste und -belege, Genehmigungskennungen und fremde " + "Akten bleiben ausgeschlossen. Unveränderliche Nachweise werden aufbewahrt. Der aktuelle Aktenfakt erhält eine " + "nicht ausführbare manuelle Prüfung und kann nur über den gesteuerten eAkte-Lebenszyklus verändert werden." + ), + } + }, ), DocumentationTopic( id="records.workspace", @@ -243,6 +264,7 @@ DOCUMENTATION = ( layer="configured", documentation_types=("admin", "user"), audience=("user", "records_manager", "operator", "module_admin", "auditor"), + conditions=(DocumentationCondition(required_scopes=(READ_SCOPE,)),), order=100, related_modules=OPTIONAL_DEPENDENCIES, links=( @@ -267,6 +289,7 @@ DOCUMENTATION = ( } }, metadata={ + "kind": "workflow", "help_contexts": [ "records.workspace", "records.file-plan", @@ -329,6 +352,7 @@ DOCUMENTATION = ( } }, metadata={ + "kind": "reference", "help_contexts": [ "records.action.file", "records.field.source-module", diff --git a/tests/test_documentation.py b/tests/test_documentation.py new file mode 100644 index 0000000..7bb2d1f --- /dev/null +++ b/tests/test_documentation.py @@ -0,0 +1,14 @@ +from __future__ import annotations + +from govoplan_records.backend.manifest import manifest + + +def test_records_german_workflow_and_reference_are_complete() -> None: + topics = {topic.id: topic for topic in manifest.documentation} + assert len(topics) == 5 + for topic in topics.values(): + assert all(topic.translations["de"].get(key) for key in ("title", "summary", "body")) + workflow = topics["records.workspace"] + assert workflow.metadata["kind"] == "workflow" + assert workflow.conditions + assert topics["records.filing"].metadata["kind"] == "reference" diff --git a/webui/package.json b/webui/package.json index 0bf8b1c..7c60a4a 100644 --- a/webui/package.json +++ b/webui/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/records-webui", - "version": "0.1.20", + "version": "0.1.21", "private": true, "type": "module", "main": "src/index.ts",