Migrate Organizations interface patterns

This commit is contained in:
2026-08-03 12:09:33 +02:00
parent 3f0f38d226
commit 97acfcba7d
11 changed files with 533 additions and 74 deletions
+84 -2
View File
@@ -8,6 +8,7 @@ from govoplan_core.core.access import (
)
from govoplan_core.core.module_guards import persistent_table_uninstall_guard
from govoplan_core.core.modules import (
DocumentationLink,
DocumentationTopic,
FrontendModule,
FrontendRoute,
@@ -155,7 +156,7 @@ manifest = ModuleManifest(
NavItem(
path="/organizations",
label="Organizations",
icon="users",
icon="building-2",
required_any=ORGANIZATIONS_READ_SCOPES,
order=70,
),
@@ -175,7 +176,7 @@ manifest = ModuleManifest(
NavItem(
path="/organizations",
label="Organizations",
icon="users",
icon="building-2",
required_any=ORGANIZATIONS_READ_SCOPES,
order=70,
),
@@ -229,8 +230,89 @@ manifest = ModuleManifest(
layer="configured",
documentation_types=("admin", "user"),
audience=("tenant_admin", "access_admin", "operator"),
related_modules=("tenancy", "access", "idm", "policy", "audit"),
links=(
DocumentationLink(
label="Organizations workspace",
href="/organizations",
kind="runtime",
),
DocumentationLink(
label="Organization model API",
href="/api/v1/organizations/model",
kind="api",
),
),
metadata={
"kind": "guide",
"help_contexts": [
"organizations.workspace",
"organizations.model",
"organizations.units",
"organizations.relations",
"organizations.functions",
"organizations.admin.tenant",
"organizations.blocked",
],
},
order=25,
),
DocumentationTopic(
id="organizations.reference.fields-and-consequences",
title="Organization model fields and consequences",
summary=(
"Distinguish tenant-owned model definitions, concrete units, "
"relations, functions, governance references, and lifecycle state."
),
body=(
"Unit types, structures, relation types, and function types define "
"the tenant-owned model. Units, relations, and functions are concrete "
"institutional facts within that model. Slugs are stable references for "
"integrations; parent and relation changes affect hierarchy traversal and "
"downstream routing. Deactivation retains the record and evidence but "
"removes it from active selection. Delegation and act-in-place flags only "
"describe permitted organizational semantics; Access and governed workflows "
"still decide effective authority. When configured, a recorded change-request "
"ID is required before model mutations. Organization settings are tenant-owned "
"and do not inherit a live global hierarchy."
),
layer="configured",
documentation_types=("admin",),
audience=("tenant_admin", "access_admin", "operator"),
related_modules=("tenancy", "access", "idm", "policy", "audit"),
links=(
DocumentationLink(
label="Organizations workspace",
href="/organizations",
kind="runtime",
),
DocumentationLink(
label="Organization settings API",
href="/api/v1/organizations/settings",
kind="api",
),
),
metadata={
"kind": "reference",
"help_contexts": [
"organizations.field.name",
"organizations.field.slug",
"organizations.field.parent",
"organizations.field.relation",
"organizations.field.function",
"organizations.field.change-request",
"organizations.field.audit-retention",
"organizations.action.deactivate",
],
"consequence_classes": {
"model_change": "Changes the valid vocabulary and constraints for tenant-owned organization facts.",
"hierarchy_change": "Changes traversal, routing, and inherited institutional context for downstream modules.",
"deactivate": "Retains the fact and evidence while removing it from active selection.",
"settings": "Changes tenant-owned governance, audit detail, and retention behavior.",
},
},
order=26,
),
),
architecture=declared_module_architecture(
layer="institutional_foundation",