docs(decisions): complete German public reference

This commit is contained in:
2026-08-22 20:25:17 +02:00
parent e6ea0d6b72
commit 41b8517cae
4 changed files with 92 additions and 4 deletions
+2 -2
View File
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
[project]
name = "govoplan-decisions"
version = "0.1.18"
version = "0.1.19"
description = "Formal institutional decision lifecycle and reconstruction for GovOPlaN."
readme = "README.md"
requires-python = ">=3.12"
authors = [{ name = "GovOPlaN" }]
dependencies = ["govoplan-core>=0.1.18"]
dependencies = ["govoplan-core>=0.1.37"]
[tool.setuptools.packages.find]
where = ["src"]
+1 -1
View File
@@ -1,3 +1,3 @@
"""GovOPlaN Decisions module."""
__version__ = "0.1.18"
__version__ = "0.1.19"
+60 -1
View File
@@ -36,7 +36,7 @@ from govoplan_decisions.backend.search_source import create_decisions_search_sou
MODULE_ID = "decisions"
MODULE_NAME = "Decisions"
MODULE_VERSION = "0.1.18"
MODULE_VERSION = "0.1.19"
READ_SCOPE = "decisions:decision:read"
SENSITIVE_READ_SCOPE = "decisions:decision:read_sensitive"
WRITE_SCOPE = "decisions:decision:write"
@@ -212,6 +212,40 @@ manifest = ModuleManifest(
),
},
},
translations={
"de": {
"title": "Datenschutzanfragen zu formellen Entscheidungen",
"summary": (
"Minimierte Angaben zur erstellenden Person aus unveränderlichen "
"Entscheidungsrevisionen exportieren, ohne geschützte Inhalte offenzulegen."
),
"body": (
"Decisions sucht innerhalb des aktiven Mandanten nach exakten Konto-, "
"Mitgliedschafts-, Identitäts- oder ausdrücklich angegebenen Akteurskennungen. "
"Eine optionale Entscheidungskennung schränkt nur diese bereits verifizierte "
"Akteurssuche ein und kann für sich allein keine Entscheidung offenlegen. Der "
"Ausgabedatensatz enthält ausschließlich Revision, Typ, Status, Gültigkeits- und "
"Aufzeichnungszeit sowie die Aktivität der erstellenden Person. Geschützte "
"Begründungen, verfügende Ergebnisse, Bedingungen, Nachweisinhalte und Prüfsummen "
"bleiben ausgeschlossen. Die Historie formeller Entscheidungen ist unveränderlicher "
"rechtlicher und institutioneller Nachweis; deshalb veröffentlicht der Anbieter "
"ausschließlich Aufbewahrungsergebnisse und schreibt keine Revision um."
),
}
},
structured_translation_version="1",
structured_translations={
"de": {
"consequence_classes": {
"export_creator_attribution": (
"Gibt Lebenszyklus- und Erstellerkontext ohne geschützte Inhalte zurück."
),
"retain_formal_history": (
"Bewahrt unveränderliche institutionelle und rechtliche Nachweise auf."
),
}
}
},
),
DocumentationTopic(
id="decisions.formal-outcome",
@@ -229,11 +263,36 @@ manifest = ModuleManifest(
),
),
metadata={
"kind": "reference",
"help_contexts": [
"decisions.search.result",
"decisions.record.filing",
],
},
translations={
"de": {
"title": "Formelle institutionelle Entscheidungen",
"summary": (
"Zuständigkeit, Nachweise, Begründung, Ergebnis, Wirkungen und "
"Überprüfungshistorie nachvollziehbar rekonstruieren."
),
"body": (
"Decisions bewahrt formelle Ergebnisse als unveränderliche Revisionen auf. "
"Berichtigungen und Widerrufe erzeugen verknüpfte Revisionen; beabsichtigte und "
"beobachtete Wirkungen bleiben für den Abgleich getrennt. Listen und nicht "
"versionierte Detailansichten folgen der in der Titelleiste gewählten Gültigkeits- "
"und Aufzeichnungszeit; exakte Revisionsverweise bleiben exakt und die aktuelle "
"Berechtigungsprüfung gilt unverändert. Ist Records aktiviert, wird nur eine exakte, "
"vollständige Entscheidungsrevision abgelegt, nachdem aktuelle Metadaten- und "
"Leseberechtigungen erneut geprüft wurden. Records bewahrt den prüfsummengebundenen "
"Quellverweis, während Decisions maßgeblich bleibt. Ist Search aktiviert, trägt "
"Decisions ausschließlich wiederaufbaubare Lebenszyklus-, Betreff-, Rechtsgrundlagen-, "
"Wirkungs- und Fallverknüpfungsmetadaten bei. Verfügende Ergebnisse, Begründungen und "
"Bedingungen bleiben ausgeschlossen; vor jeder Offenlegung wird die aktuelle "
"Berechtigung erneut geprüft."
),
}
},
),
),
architecture=declared_module_architecture(
+29
View File
@@ -0,0 +1,29 @@
from __future__ import annotations
import unittest
from govoplan_core.core.modules import documentation_structured_translation_issues
from govoplan_decisions.backend.manifest import manifest
class DecisionsDocumentationTests(unittest.TestCase):
def test_public_topics_have_complete_german_reference_content(self) -> None:
self.assertEqual(2, len(manifest.documentation))
for topic in manifest.documentation:
translation = topic.translations.get("de", {})
self.assertTrue(
all(translation.get(key) for key in ("title", "summary", "body"))
)
self.assertEqual((), documentation_structured_translation_issues(topic))
def test_formal_outcome_is_the_field_and_consequence_reference(self) -> None:
topic = next(
item
for item in manifest.documentation
if item.id == "decisions.formal-outcome"
)
self.assertEqual("reference", topic.metadata.get("kind"))
if __name__ == "__main__":
unittest.main()