Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40ea8d1dab |
@@ -674,7 +674,10 @@ manifest = ModuleManifest(
|
||||
id="risk_compliance.workspace-layout",
|
||||
title="Risk Compliance workspace layout",
|
||||
summary="Find workspace actions and read consistently arranged content.",
|
||||
body="Sources, screening, review, and assurance use the same workspace action bar, cards, typography, metrics, and responsive columns as the rest of GovOPlaN. Reload is at the upper right; source imports, dispositions, and assurance edits remain with their relevant card. Narrow windows stack the cards instead of requiring a separate miniature interface. Reloading does not import a source, execute a screening, or record a disposition. Administrators continue to grant the separate read, screening, review, and administration permissions; the shared presentation does not change legal assurance or review policy.",
|
||||
body="Documentation books sit immediately beside the visible heading or contextual label for Risk "
|
||||
"& Compliance and its evidence and assurance sections or dialogs, not among operational "
|
||||
"action buttons. Field help remains beside its label. "
|
||||
"Sources, screening, review, and assurance use the same workspace action bar, cards, typography, metrics, and responsive columns as the rest of GovOPlaN. Reload is at the upper right; source imports, dispositions, and assurance edits remain with their relevant card. Narrow windows stack the cards instead of requiring a separate miniature interface. Reloading does not import a source, execute a screening, or record a disposition. Administrators continue to grant the separate read, screening, review, and administration permissions; the shared presentation does not change legal assurance or review policy.",
|
||||
layer="static",
|
||||
documentation_types=("user", "admin"),
|
||||
audience=("user", "module_admin", "operator"),
|
||||
@@ -682,7 +685,11 @@ manifest = ModuleManifest(
|
||||
translations={"de": {
|
||||
"title": "Risiko und Compliance: Aufbau des Arbeitsbereichs",
|
||||
"summary": "Arbeitsbereichsaktionen finden und einheitlich angeordnete Inhalte lesen.",
|
||||
"body": "Quellen, Screening, Prüfung und Assurance verwenden dieselbe Arbeitsbereichsleiste, Karten, Typografie, Kennzahlen und responsiven Spalten wie das übrige GovOPlaN. Neu laden steht oben rechts; Quellenimporte, Prüfentscheidungen und Assurance-Bearbeitung bleiben bei ihrer jeweiligen Karte. Schmale Fenster ordnen die Karten untereinander an, statt eine verkleinerte Sonderoberfläche zu verwenden. Neu laden importiert keine Quelle, startet kein Screening und erfasst keine Entscheidung. Administratoren vergeben weiterhin getrennte Lese-, Screening-, Prüf- und Administrationsrechte; die gemeinsame Darstellung verändert weder rechtliche Zusicherungen noch Prüfrichtlinien.",
|
||||
"body": "Dokumentationsbücher stehen unmittelbar neben der sichtbaren Überschrift oder "
|
||||
"Kontextbezeichnung für Risiko & Compliance und die zugehörigen Nachweis- und "
|
||||
"Absicherungsabschnitte oder Dialoge, nicht zwischen ausführbaren Aktionsschaltflächen. "
|
||||
"Feldhilfe bleibt neben der Feldbezeichnung. "
|
||||
"Quellen, Screening, Prüfung und Assurance verwenden dieselbe Arbeitsbereichsleiste, Karten, Typografie, Kennzahlen und responsiven Spalten wie das übrige GovOPlaN. Neu laden steht oben rechts; Quellenimporte, Prüfentscheidungen und Assurance-Bearbeitung bleiben bei ihrer jeweiligen Karte. Schmale Fenster ordnen die Karten untereinander an, statt eine verkleinerte Sonderoberfläche zu verwenden. Neu laden importiert keine Quelle, startet kein Screening und erfasst keine Entscheidung. Administratoren vergeben weiterhin getrennte Lese-, Screening-, Prüf- und Administrationsrechte; die gemeinsame Darstellung verändert weder rechtliche Zusicherungen noch Prüfrichtlinien.",
|
||||
}},
|
||||
),
|
||||
DocumentationTopic(
|
||||
|
||||
@@ -259,7 +259,9 @@ export default function RiskCompliancePage({
|
||||
variant="workspace"
|
||||
refreshable
|
||||
reloadAction={{ onReload: () => void refresh(), loading, disabled: busy, disabledReason: busy ? RISK_COMPLIANCE_I18N.busy : undefined }}
|
||||
helpAction={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />}
|
||||
title="Risk Compliance"
|
||||
titleLevel={1}
|
||||
titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />}
|
||||
contextActions={<SegmentedControl
|
||||
value={view}
|
||||
onChange={setView}
|
||||
@@ -423,7 +425,7 @@ function SourcesPane({
|
||||
);
|
||||
return (
|
||||
<ContentGrid columns={2} collapseAt="wide" align="stretch">
|
||||
<Card title="Connector evidence" actions={<DocumentationHelpLink reference={RISK_COMPLIANCE_ADMIN_DOCUMENTATION} />}>
|
||||
<Card title="Connector evidence" titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_ADMIN_DOCUMENTATION} />} >
|
||||
{!available && (
|
||||
<ActionBlockerHint
|
||||
tone="info"
|
||||
@@ -570,7 +572,7 @@ function ScreenPane({
|
||||
|
||||
return (
|
||||
<ContentGrid columns={2} collapseAt="wide" align="stretch">
|
||||
<Card title="New screening" actions={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />}>
|
||||
<Card title="New screening" titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />} >
|
||||
<form onSubmit={submit}>
|
||||
<FormGrid columns={1}>
|
||||
{!snapshots.length && (
|
||||
@@ -787,8 +789,8 @@ function ReviewPane({
|
||||
)}
|
||||
</div>
|
||||
</Card>
|
||||
<Card title="Candidate evidence" actions={<>
|
||||
<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />
|
||||
<Card title="Candidate evidence" titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />} actions={<>
|
||||
|
||||
<Button
|
||||
variant="primary"
|
||||
helpContextId="risk_compliance.review.disposition"
|
||||
@@ -851,7 +853,7 @@ function ReviewPane({
|
||||
</Card>
|
||||
<Dialog
|
||||
open={dialogOpen}
|
||||
title="Record screening disposition"
|
||||
title="Record screening disposition" titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />}
|
||||
onClose={resetDisposition}
|
||||
closeDisabled={busy}
|
||||
footer={
|
||||
@@ -880,7 +882,7 @@ function ReviewPane({
|
||||
className="risk-disposition-form"
|
||||
onSubmit={submitDisposition}
|
||||
>
|
||||
<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />
|
||||
|
||||
<ActionBlockerHint
|
||||
tone="info"
|
||||
reason={{
|
||||
@@ -1210,8 +1212,8 @@ function AssurancePane({
|
||||
</MetricGrid>
|
||||
</ContentGrid>
|
||||
<ContentGrid columns={2} collapseAt="wide" align="stretch">
|
||||
<Card title="Assurance objects" actions={<>
|
||||
<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />
|
||||
<Card title="Assurance objects" titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />} actions={<>
|
||||
|
||||
<IconButton
|
||||
label="Add assurance object"
|
||||
icon={<Plus size={16} />}
|
||||
@@ -1263,8 +1265,8 @@ function AssurancePane({
|
||||
)}
|
||||
</div>
|
||||
</Card>
|
||||
<Card title={selected?.label || "Assurance object"} actions={<>
|
||||
<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />
|
||||
<Card title={selected?.label || "Assurance object"} titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />} actions={<>
|
||||
|
||||
<IconButton
|
||||
label="Edit assurance object"
|
||||
icon={<Pencil size={16} />}
|
||||
@@ -1339,7 +1341,7 @@ function AssurancePane({
|
||||
/>
|
||||
<Dialog
|
||||
open={edgeDialogOpen}
|
||||
title="Connect assurance objects"
|
||||
title="Connect assurance objects" titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />}
|
||||
onClose={closeEdgeDialog}
|
||||
closeDisabled={busy}
|
||||
footer={
|
||||
@@ -1357,7 +1359,7 @@ function AssurancePane({
|
||||
</>
|
||||
}
|
||||
>
|
||||
<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />
|
||||
|
||||
<form id="risk-assurance-edge-form" className="risk-assurance-form" onSubmit={submitEdge}>
|
||||
<FormField label="Relationship">
|
||||
<select
|
||||
@@ -1439,7 +1441,7 @@ function AssuranceNodeDialog({
|
||||
return (
|
||||
<Dialog
|
||||
open={open}
|
||||
title={editing ? "Revise assurance object" : "Add assurance object"}
|
||||
title={editing ? "Revise assurance object" : "Add assurance object"} titleHelp={<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />}
|
||||
onClose={onClose}
|
||||
closeDisabled={busy}
|
||||
footer={
|
||||
@@ -1457,7 +1459,7 @@ function AssuranceNodeDialog({
|
||||
</>
|
||||
}
|
||||
>
|
||||
<DocumentationHelpLink reference={RISK_COMPLIANCE_DOCUMENTATION} />
|
||||
|
||||
<form id="risk-assurance-node-form" className="risk-assurance-form" onSubmit={onSubmit}>
|
||||
<FormGrid columns={2} gap="compact" collapseAt="narrow">
|
||||
<FormField label="Stable ID">
|
||||
|
||||
@@ -2,6 +2,7 @@ import type { PlatformTranslations } from "@govoplan/core-webui";
|
||||
|
||||
export const generatedTranslations: PlatformTranslations = {
|
||||
en: {
|
||||
"Risk Compliance": "Risk Compliance",
|
||||
"i18n:govoplan-risk-compliance.surface.sources": "Sanctions source snapshots",
|
||||
"i18n:govoplan-risk-compliance.surface.screening": "Sanctions screening",
|
||||
"i18n:govoplan-risk-compliance.surface.review": "Sanctions review queue",
|
||||
@@ -53,6 +54,7 @@ export const generatedTranslations: PlatformTranslations = {
|
||||
"i18n:govoplan-risk-compliance.blocker.target": "Where to go"
|
||||
},
|
||||
de: {
|
||||
"Risk Compliance": "Risiko und Compliance",
|
||||
"i18n:govoplan-risk-compliance.surface.sources": "Sanktionsquellen",
|
||||
"i18n:govoplan-risk-compliance.surface.screening": "Sanktionsprüfung",
|
||||
"i18n:govoplan-risk-compliance.surface.review": "Prüfwarteschlange",
|
||||
|
||||
Reference in New Issue
Block a user