docs(tasks): complete German workflow coverage
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@govoplan/tasks",
|
"name": "@govoplan/tasks",
|
||||||
"version": "0.1.19",
|
"version": "0.1.20",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Governed work items and unified work inbox for GovOPlaN.",
|
"description": "Governed work items and unified work inbox for GovOPlaN.",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "govoplan-tasks"
|
name = "govoplan-tasks"
|
||||||
version = "0.1.19"
|
version = "0.1.20"
|
||||||
description = "Governed work items and unified work inbox for GovOPlaN."
|
description = "Governed work items and unified work inbox for GovOPlaN."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
"""GovOPlaN Tasks module."""
|
"""GovOPlaN Tasks module."""
|
||||||
|
|
||||||
__version__ = "0.1.19"
|
__version__ = "0.1.20"
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ from govoplan_core.core.module_guards import (
|
|||||||
)
|
)
|
||||||
from govoplan_core.core.modules import (
|
from govoplan_core.core.modules import (
|
||||||
CapabilityDocumentation,
|
CapabilityDocumentation,
|
||||||
|
DocumentationCondition,
|
||||||
DocumentationLink,
|
DocumentationLink,
|
||||||
DocumentationTopic,
|
DocumentationTopic,
|
||||||
FrontendModule,
|
FrontendModule,
|
||||||
@@ -43,7 +44,7 @@ from govoplan_tasks.backend.service import SqlTaskService
|
|||||||
|
|
||||||
MODULE_ID = "tasks"
|
MODULE_ID = "tasks"
|
||||||
MODULE_NAME = "Tasks"
|
MODULE_NAME = "Tasks"
|
||||||
MODULE_VERSION = "0.1.19"
|
MODULE_VERSION = "0.1.20"
|
||||||
READ_SCOPE = "tasks:item:read"
|
READ_SCOPE = "tasks:item:read"
|
||||||
WRITE_SCOPE = "tasks:item:write"
|
WRITE_SCOPE = "tasks:item:write"
|
||||||
ADMIN_SCOPE = "tasks:item:admin"
|
ADMIN_SCOPE = "tasks:item:admin"
|
||||||
@@ -157,6 +158,28 @@ DOCUMENTATION = (
|
|||||||
documentation_types=("admin", "user"),
|
documentation_types=("admin", "user"),
|
||||||
audience=("user", "tenant_admin", "operator", "auditor"),
|
audience=("user", "tenant_admin", "operator", "auditor"),
|
||||||
related_modules=("core", "workflow_engine", "approvals", "notifications"),
|
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={
|
metadata={
|
||||||
"help_contexts": [
|
"help_contexts": [
|
||||||
"tasks.page.inbox",
|
"tasks.page.inbox",
|
||||||
@@ -230,6 +253,12 @@ DOCUMENTATION = (
|
|||||||
"views",
|
"views",
|
||||||
"dashboard",
|
"dashboard",
|
||||||
),
|
),
|
||||||
|
conditions=(
|
||||||
|
DocumentationCondition(
|
||||||
|
required_modules=("tasks",),
|
||||||
|
required_scopes=(READ_SCOPE,),
|
||||||
|
),
|
||||||
|
),
|
||||||
links=(
|
links=(
|
||||||
DocumentationLink(
|
DocumentationLink(
|
||||||
label="Tasks domain",
|
label="Tasks domain",
|
||||||
@@ -240,16 +269,17 @@ DOCUMENTATION = (
|
|||||||
translations={
|
translations={
|
||||||
"de": {
|
"de": {
|
||||||
"title": "Gemeinsamer Arbeitsvorrat",
|
"title": "Gemeinsamer Arbeitsvorrat",
|
||||||
"summary": "Explizite Aufgaben und Arbeitsvorgaenge anderer Module sicher fortsetzen.",
|
"summary": "Explizite Aufgaben und Arbeitsvorgänge anderer Module sicher fortsetzen.",
|
||||||
"body": (
|
"body": (
|
||||||
"Der Arbeitsvorrat verbindet explizite Aufgaben mit Arbeitsobjekten aktivierter Module. "
|
"Der Arbeitsvorrat verbindet explizite Aufgaben mit Arbeitsobjekten aktivierter Module. "
|
||||||
"Jede Quelle behaelt die Verantwortung fuer Befehle und Abschlussstatus. Tasks kopiert "
|
"Jede Quelle behält die Verantwortung für Befehle und Abschlussstatus. Tasks kopiert "
|
||||||
"keine Workflow-Uebergabe, Postfachnachricht, Freigabe oder Benachrichtigung in einen "
|
"keine Workflow-Übergabe, Postfachnachricht, Freigabe oder Benachrichtigung in einen "
|
||||||
"zweiten Fachzustand. Filter, Fristen, Prioritaeten und Quellverweise helfen beim sicheren Fortsetzen."
|
"zweiten Fachzustand. Filter, Fristen, Prioritäten und Quellverweise helfen beim sicheren Fortsetzen."
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
metadata={
|
metadata={
|
||||||
|
"kind": "workflow",
|
||||||
"help_contexts": [
|
"help_contexts": [
|
||||||
"tasks.route.work",
|
"tasks.route.work",
|
||||||
"tasks.page.inbox",
|
"tasks.page.inbox",
|
||||||
|
|||||||
@@ -10,6 +10,21 @@ REPOSITORY_ROOT = Path(__file__).resolve().parents[1]
|
|||||||
|
|
||||||
|
|
||||||
class TasksQuickAccessContractTests(unittest.TestCase):
|
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:
|
def test_manifest_declares_typed_work_result_and_help(self) -> None:
|
||||||
tool = get_manifest().frontend.quick_access_tools[0]
|
tool = get_manifest().frontend.quick_access_tools[0]
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@govoplan/tasks-webui",
|
"name": "@govoplan/tasks-webui",
|
||||||
"version": "0.1.19",
|
"version": "0.1.20",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "src/index.ts",
|
"main": "src/index.ts",
|
||||||
|
|||||||
+1
-1
@@ -44,7 +44,7 @@ const quickAccessTools: QuickAccessToolsUiCapability = {
|
|||||||
export const tasksModule: PlatformWebModule = {
|
export const tasksModule: PlatformWebModule = {
|
||||||
id: "tasks",
|
id: "tasks",
|
||||||
label: "i18n:govoplan-tasks.work",
|
label: "i18n:govoplan-tasks.work",
|
||||||
version: "0.1.19",
|
version: "0.1.20",
|
||||||
dependencies: ["access"],
|
dependencies: ["access"],
|
||||||
optionalDependencies: ["idm", "organizations", "workflow_engine", "workflow", "notifications", "postbox", "approvals", "views", "dashboard", "search"],
|
optionalDependencies: ["idm", "organizations", "workflow_engine", "workflow", "notifications", "postbox", "approvals", "views", "dashboard", "search"],
|
||||||
translations: generatedTranslations,
|
translations: generatedTranslations,
|
||||||
|
|||||||
Reference in New Issue
Block a user