Migrate Cases interface patterns
This commit is contained in:
@@ -213,6 +213,14 @@ manifest = ModuleManifest(
|
||||
label="Case list",
|
||||
order=20,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.list.filters",
|
||||
module_id=MODULE_ID,
|
||||
kind="section",
|
||||
label="Case search and filters",
|
||||
parent_id="cases.list",
|
||||
order=10,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.detail",
|
||||
module_id=MODULE_ID,
|
||||
@@ -220,6 +228,54 @@ manifest = ModuleManifest(
|
||||
label="Case details",
|
||||
order=30,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.detail.summary",
|
||||
module_id=MODULE_ID,
|
||||
kind="section",
|
||||
label="Case summary",
|
||||
parent_id="cases.detail",
|
||||
order=10,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.detail.editor",
|
||||
module_id=MODULE_ID,
|
||||
kind="section",
|
||||
label="Case lifecycle editor",
|
||||
parent_id="cases.detail",
|
||||
order=20,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.detail.references",
|
||||
module_id=MODULE_ID,
|
||||
kind="section",
|
||||
label="Institutional references",
|
||||
parent_id="cases.detail",
|
||||
order=30,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.detail.timeline",
|
||||
module_id=MODULE_ID,
|
||||
kind="section",
|
||||
label="Case timeline",
|
||||
parent_id="cases.detail",
|
||||
order=40,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.detail.history",
|
||||
module_id=MODULE_ID,
|
||||
kind="section",
|
||||
label="Immutable case history",
|
||||
parent_id="cases.detail",
|
||||
order=50,
|
||||
),
|
||||
ViewSurface(
|
||||
id="cases.detail.access",
|
||||
module_id=MODULE_ID,
|
||||
kind="action",
|
||||
label="Case access",
|
||||
parent_id="cases.detail",
|
||||
order=60,
|
||||
),
|
||||
),
|
||||
),
|
||||
provides_interfaces=(
|
||||
@@ -313,6 +369,56 @@ manifest = ModuleManifest(
|
||||
kind="repository",
|
||||
),
|
||||
),
|
||||
metadata={
|
||||
"help_contexts": [
|
||||
"cases.list",
|
||||
"cases.detail",
|
||||
"cases.state.read-only",
|
||||
"cases.state.restricted",
|
||||
],
|
||||
},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="cases.reference.lifecycle-access-and-evidence",
|
||||
title="Case lifecycle, access, and evidence reference",
|
||||
summary="Explains revision, status, access, and reference fields together with their durable consequences.",
|
||||
body=(
|
||||
"Title and status changes append an immutable case revision guarded by the "
|
||||
"expected revision and a stable idempotency key. Every accepted change also "
|
||||
"appends a timeline entry with actor, time, and change reason; a terminal "
|
||||
"status additionally requires the case-close permission. Case visibility is "
|
||||
"tenant-wide or restricted. Restricted cases remain visible only through "
|
||||
"administrative authority, assignment or unit context, creator authority, or "
|
||||
"an explicit account/group grant. Access changes append another immutable "
|
||||
"revision and require confirmation. Service, party, assignment, Decision, and "
|
||||
"record references identify provider-owned objects; Cases preserves their "
|
||||
"stable identifiers and versions without copying or silently changing them."
|
||||
),
|
||||
layer="available",
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("user", "operator", "module_admin"),
|
||||
links=(
|
||||
DocumentationLink(
|
||||
label="Cases interface pattern migration",
|
||||
href="govoplan-cases/docs/INTERFACE_PATTERN_MIGRATION.md",
|
||||
kind="repository",
|
||||
),
|
||||
),
|
||||
metadata={
|
||||
"help_contexts": [
|
||||
"cases.field.title",
|
||||
"cases.field.status",
|
||||
"cases.field.change-reason",
|
||||
"cases.field.visibility",
|
||||
"cases.field.access-grant",
|
||||
"cases.state.close-unavailable",
|
||||
],
|
||||
"consequence_classes": {
|
||||
"update_case": "append an OCC-guarded immutable revision and timeline event",
|
||||
"close_case": "append a terminal revision after close-scope authorization",
|
||||
"change_access": "append a confirmed visibility/grant revision and timeline event",
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
architecture=ModuleArchitectureDeclaration(
|
||||
|
||||
Reference in New Issue
Block a user