docs(tasks): complete German workflow coverage
Module Package Release / publish-packages (push) Successful in 11s

This commit is contained in:
2026-08-22 06:50:34 +02:00
parent 88bd0e6aae
commit faf6b3305a
7 changed files with 55 additions and 10 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@govoplan/tasks",
"version": "0.1.19",
"version": "0.1.20",
"private": true,
"description": "Governed work items and unified work inbox for GovOPlaN.",
"type": "module",
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "govoplan-tasks"
version = "0.1.19"
version = "0.1.20"
description = "Governed work items and unified work inbox for GovOPlaN."
readme = "README.md"
requires-python = ">=3.12"
+1 -1
View File
@@ -1,3 +1,3 @@
"""GovOPlaN Tasks module."""
__version__ = "0.1.19"
__version__ = "0.1.20"
+35 -5
View File
@@ -12,6 +12,7 @@ from govoplan_core.core.module_guards import (
)
from govoplan_core.core.modules import (
CapabilityDocumentation,
DocumentationCondition,
DocumentationLink,
DocumentationTopic,
FrontendModule,
@@ -43,7 +44,7 @@ from govoplan_tasks.backend.service import SqlTaskService
MODULE_ID = "tasks"
MODULE_NAME = "Tasks"
MODULE_VERSION = "0.1.19"
MODULE_VERSION = "0.1.20"
READ_SCOPE = "tasks:item:read"
WRITE_SCOPE = "tasks:item:write"
ADMIN_SCOPE = "tasks:item:admin"
@@ -157,6 +158,28 @@ DOCUMENTATION = (
documentation_types=("admin", "user"),
audience=("user", "tenant_admin", "operator", "auditor"),
related_modules=("core", "workflow_engine", "approvals", "notifications"),
translations={
"de": {
"title": "Betroffenenanfragen für Aufgaben",
"summary": (
"Kontobezogene Aufgabendaten und Lebenszykluszuordnungen exportieren, "
"während gemeinsam verantwortete institutionelle Arbeit der fachlichen Prüfung unterliegt."
),
"body": (
"Tasks gleicht ausschließlich exakte Konto- und Akteurskennungen innerhalb des aktiven Mandanten ab. "
"Direkt einem Konto zugewiesene Aufgaben tragen begrenzte Angaben zu Titel, Zusammenfassung, erforderlicher "
"Handlung, Lebenszyklusstatus, Fristen, exakter Kontozuweisung, Quellverweisen sowie vom Betroffenen ausgeführten "
"Erstellungs-, Änderungs- oder Abschlussaktivitäten bei. Sichtbarkeit für Gruppen, Rollen, Funktionen oder alle "
"wird nicht aus externen Verzeichnissen abgeleitet; andere Zuweisungsziele bleiben ausgeschlossen. Hat die "
"betroffene Person an einer Aufgabe gehandelt, ohne deren direkte Kontozuweisung zu sein, werden nur minimierte "
"Lebenszykluszuordnung und Quellidentität exportiert. Herkunftsmetadaten, beliebige Metadaten, Anfrage-Hashes, "
"Idempotenzschlüssel und Nutzdaten des Quellmoduls bleiben ausgeschlossen; Quellverweise werden niemals verfolgt. "
"Aufgabenzuordnungen bleiben als unveränderlicher Verantwortungsnachweis erhalten. Die Löschung einer Zuweisung "
"oder von Inhalten erfordert eine manuelle Prüfung durch Quellverantwortliche und Aufbewahrungsstelle, da eine "
"Aufgabe gemeinsam verantwortete institutionelle Arbeit sein kann; der Anbieter nimmt keine automatische Änderung vor."
),
}
},
metadata={
"help_contexts": [
"tasks.page.inbox",
@@ -230,6 +253,12 @@ DOCUMENTATION = (
"views",
"dashboard",
),
conditions=(
DocumentationCondition(
required_modules=("tasks",),
required_scopes=(READ_SCOPE,),
),
),
links=(
DocumentationLink(
label="Tasks domain",
@@ -240,16 +269,17 @@ DOCUMENTATION = (
translations={
"de": {
"title": "Gemeinsamer Arbeitsvorrat",
"summary": "Explizite Aufgaben und Arbeitsvorgaenge anderer Module sicher fortsetzen.",
"summary": "Explizite Aufgaben und Arbeitsvorgänge anderer Module sicher fortsetzen.",
"body": (
"Der Arbeitsvorrat verbindet explizite Aufgaben mit Arbeitsobjekten aktivierter Module. "
"Jede Quelle behaelt die Verantwortung fuer Befehle und Abschlussstatus. Tasks kopiert "
"keine Workflow-Uebergabe, Postfachnachricht, Freigabe oder Benachrichtigung in einen "
"zweiten Fachzustand. Filter, Fristen, Prioritaeten und Quellverweise helfen beim sicheren Fortsetzen."
"Jede Quelle behält die Verantwortung für Befehle und Abschlussstatus. Tasks kopiert "
"keine Workflow-Übergabe, Postfachnachricht, Freigabe oder Benachrichtigung in einen "
"zweiten Fachzustand. Filter, Fristen, Prioritäten und Quellverweise helfen beim sicheren Fortsetzen."
),
}
},
metadata={
"kind": "workflow",
"help_contexts": [
"tasks.route.work",
"tasks.page.inbox",
+15
View File
@@ -10,6 +10,21 @@ REPOSITORY_ROOT = Path(__file__).resolve().parents[1]
class TasksQuickAccessContractTests(unittest.TestCase):
def test_public_topics_have_complete_german_workflow_and_reference_coverage(
self,
) -> None:
topics = get_manifest().documentation
kinds = {topic.metadata.get("kind", "system") for topic in topics}
self.assertEqual(3, len(topics))
self.assertTrue({"workflow", "reference"}.issubset(kinds))
for topic in topics:
translation = topic.translations["de"]
self.assertEqual({"title", "summary", "body"}, set(translation))
self.assertTrue(
all(str(translation[field]).strip() for field in translation)
)
def test_manifest_declares_typed_work_result_and_help(self) -> None:
tool = get_manifest().frontend.quick_access_tools[0]
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@govoplan/tasks-webui",
"version": "0.1.19",
"version": "0.1.20",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -44,7 +44,7 @@ const quickAccessTools: QuickAccessToolsUiCapability = {
export const tasksModule: PlatformWebModule = {
id: "tasks",
label: "i18n:govoplan-tasks.work",
version: "0.1.19",
version: "0.1.20",
dependencies: ["access"],
optionalDependencies: ["idm", "organizations", "workflow_engine", "workflow", "notifications", "postbox", "approvals", "views", "dashboard", "search"],
translations: generatedTranslations,