fix(webui): bind consequential postbox controls to help

This commit is contained in:
2026-08-24 11:36:42 +02:00
parent aba6280f21
commit ac708e3392
6 changed files with 16 additions and 8 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "govoplan-postbox"
version = "0.1.20"
version = "0.1.21"
description = "Function-bound institutional postboxes for GovOPlaN."
readme = "README.md"
requires-python = ">=3.12"
+1 -1
View File
@@ -1,3 +1,3 @@
"""GovOPlaN Postbox module."""
__version__ = "0.1.20"
__version__ = "0.1.21"
+2 -2
View File
@@ -75,7 +75,7 @@ from govoplan_postbox.backend.permissions import (
MODULE_ID = "postbox"
MODULE_NAME = "Postbox"
MODULE_VERSION = "0.1.20"
MODULE_VERSION = "0.1.21"
def _permission(scope: str, label: str, description: str) -> PermissionDefinition:
@@ -725,7 +725,7 @@ manifest = ModuleManifest(
"kind": "guide",
"help_contexts": [
"postbox.inbox.directory",
"postbox.action.delete-grouping",
"postbox.action.delete-grouping",
"postbox.admin.templates",
],
"privacy_notes": [
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@govoplan/postbox-webui",
"version": "0.1.20",
"version": "0.1.21",
"private": true,
"type": "module",
"main": "src/index.ts",
@@ -1038,6 +1038,8 @@ function TemplateWorkspace({
</Button>
<Button
onClick={onPublish}
helpContextId="postbox.admin.templates"
helpModuleId="postbox"
disabled={busy || selected.status === "retired" || Boolean(revision.published_at)}
disabledReason={postboxBusyReason(false, busy) ?? (selected.status === "retired" ? POSTBOX_INTERFACE_I18N.retiredTemplate : revision.published_at ? POSTBOX_INTERFACE_I18N.publishedRevision : undefined)}
>
@@ -1678,7 +1680,7 @@ function TemplateDialog({
onChange={(require_expiry) => updateLinkedCopy({ require_expiry })}
/>
</div>
<FormField label="Maximum retention days" documentation={POSTBOX_FIELD_DOCUMENTATION}>
<FormField label="Maximum retention days" documentation={POSTBOX_FIELD_DOCUMENTATION} helpContextId="postbox.field.retention" helpModuleId="postbox">
<input
type="number"
min={1}
@@ -1970,7 +1972,7 @@ function ProtectionConfigurationFields({
<small>{selected?.description}</small>
</FormField>
{profile === "server_envelope_v1" ? (
<FormField label="Encryption vault" documentation={POSTBOX_FIELD_DOCUMENTATION}>
<FormField label="Encryption vault" documentation={POSTBOX_FIELD_DOCUMENTATION} helpContextId="postbox.field.protection-profile" helpModuleId="postbox">
<input
value={vaultId}
disabled={profileLocked}
@@ -2410,7 +2412,7 @@ function ProtectionTransitionDialog({
<small>{selected?.description}</small>
</FormField>
{draft.target_profile === "server_envelope_v1" ? (
<FormField label="Target encryption vault" documentation={POSTBOX_FIELD_DOCUMENTATION}>
<FormField label="Target encryption vault" documentation={POSTBOX_FIELD_DOCUMENTATION} helpContextId="postbox.action.protection-transition" helpModuleId="postbox">
<input
value={draft.target_vault_id}
onChange={(event) => onChange({ ...draft, target_vault_id: event.target.value })}
@@ -2482,6 +2484,8 @@ function ProtectionTransitionDialog({
<div className="postbox-toggle-field">
<ToggleSwitch
label="Acknowledge residual disclosure"
helpContextId="postbox.action.protection-transition"
helpModuleId="postbox"
help="Previously decrypted, copied, or exported content cannot be recalled by changing the storage profile."
checked={draft.acknowledge_irreversibility}
onChange={(acknowledge_irreversibility) => onChange({
@@ -997,6 +997,8 @@ export default function PostboxPage({
{groupingDraft.id ? (
<Button
variant="danger"
helpContextId="postbox.action.delete-grouping"
helpModuleId="postbox"
onClick={() => setDeleteGroupingTarget(groupingDraft)}
disabled={busy}
disabledReason={postboxBusyReason(false, busy)}
@@ -1104,6 +1106,8 @@ export default function PostboxPage({
</Button>
<Button
variant="primary"
helpContextId="postbox.inbox.messages"
helpModuleId="postbox"
onClick={() => void submitMessage()}
disabled={
busy ||