Add hierarchical View policy administration

This commit is contained in:
2026-08-04 08:21:49 +02:00
parent 86c95f85bb
commit fc6d333a64
7 changed files with 682 additions and 0 deletions
+50
View File
@@ -136,6 +136,28 @@ manifest = ModuleManifest(
),
route_factory=_route_factory,
documentation=(
DocumentationTopic(
id="policy.view-governance-administration",
title="Govern View availability and actions",
summary="View policy limits which definitions and surfaces remain available and which View actions lower scopes may perform.",
body=(
"System, tenant, group, and user View policies form a restrictive hierarchy. Each scope may inherit, allow, or block viewing, selecting, assigning, editing, deriving, and workflow activation. Optional View-ID and surface-ID ceilings are intersected through the hierarchy, so a lower scope cannot restore an item excluded above it. Available, default, and required View assignments remain owned by Views; Policy supplies the action and catalogue ceiling and records provenance and malformed-policy diagnostics."
),
layer="configured",
documentation_types=("admin", "user"),
audience=("system_admin", "tenant_admin", "policy_admin"),
related_modules=("views", "admin", "access"),
metadata={
"kind": "reference",
"help_contexts": [
"policy.view-governance",
"policy.admin.system-view-policy",
"policy.admin.tenant-view-policy",
"policy.admin.group-view-policy",
"policy.admin.user-view-policy",
],
},
),
DocumentationTopic(
id="policy.effective-decisions-and-provenance",
title="Understand effective policy decisions",
@@ -205,6 +227,34 @@ manifest = ModuleManifest(
module_id="policy",
package_name="@govoplan/policy-webui",
view_surfaces=(
ViewSurface(
id="policy.admin.system-view-policy",
module_id="policy",
kind="section",
label="System View policy",
order=70,
),
ViewSurface(
id="policy.admin.tenant-view-policy",
module_id="policy",
kind="section",
label="Tenant View policy",
order=70,
),
ViewSurface(
id="policy.admin.group-view-policy",
module_id="policy",
kind="section",
label="Group View policy",
order=70,
),
ViewSurface(
id="policy.admin.user-view-policy",
module_id="policy",
kind="section",
label="User View policy",
order=70,
),
ViewSurface(
id="policy.admin.system-retention",
module_id="policy",