Integrate Payments operator WebUI
This commit is contained in:
@@ -57,7 +57,7 @@ full = [
|
|||||||
"govoplan-mandates==0.1.18",
|
"govoplan-mandates==0.1.18",
|
||||||
"govoplan-notifications==0.1.18",
|
"govoplan-notifications==0.1.18",
|
||||||
"govoplan-parties==0.1.18",
|
"govoplan-parties==0.1.18",
|
||||||
"govoplan-payments==0.1.19",
|
"govoplan-payments==0.1.20",
|
||||||
"govoplan-permits==0.1.18",
|
"govoplan-permits==0.1.18",
|
||||||
"govoplan-poll==0.1.18",
|
"govoplan-poll==0.1.18",
|
||||||
"govoplan-portal==0.1.18",
|
"govoplan-portal==0.1.18",
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ PY
|
|||||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-dashboard/tests
|
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-dashboard/tests
|
||||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-postbox/tests
|
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-postbox/tests
|
||||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-portal/tests
|
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-portal/tests
|
||||||
|
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-payments/tests
|
||||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-forms/tests
|
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-forms/tests
|
||||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-forms-runtime/tests
|
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-forms-runtime/tests
|
||||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-cases/tests
|
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-cases/tests
|
||||||
@@ -124,6 +125,11 @@ cd "$ROOT/webui"
|
|||||||
"$NPM" run test:module-permutations
|
"$NPM" run test:module-permutations
|
||||||
"$NPM" run test:conformance
|
"$NPM" run test:conformance
|
||||||
|
|
||||||
|
"$WEBUI_BIN/tsc" -p /mnt/DATA/git/govoplan-payments/webui/tsconfig.json
|
||||||
|
|
||||||
|
cd /mnt/DATA/git/govoplan-payments/webui
|
||||||
|
"$NPM" run test:interface-pattern
|
||||||
|
|
||||||
cd /mnt/DATA/git/govoplan-dataflow/webui
|
cd /mnt/DATA/git/govoplan-dataflow/webui
|
||||||
"$NPM" run test:structure
|
"$NPM" run test:structure
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ REQUIRED_CONSUMERS = (
|
|||||||
pathlib.Path("govoplan-core/webui/src/features/settings/SettingsPage.tsx"),
|
pathlib.Path("govoplan-core/webui/src/features/settings/SettingsPage.tsx"),
|
||||||
pathlib.Path("govoplan-docs/webui/src/features/docs/DocsPage.tsx"),
|
pathlib.Path("govoplan-docs/webui/src/features/docs/DocsPage.tsx"),
|
||||||
pathlib.Path("govoplan-mail/webui/src/features/mail/MailBouncePage.tsx"),
|
pathlib.Path("govoplan-mail/webui/src/features/mail/MailBouncePage.tsx"),
|
||||||
|
pathlib.Path("govoplan-payments/webui/src/features/payments/PaymentsPage.tsx"),
|
||||||
)
|
)
|
||||||
REQUIRED_WORKSPACE_CONSUMERS = (
|
REQUIRED_WORKSPACE_CONSUMERS = (
|
||||||
pathlib.Path("govoplan-campaign/webui/src/features/campaigns/CampaignWorkspace.tsx"),
|
pathlib.Path("govoplan-campaign/webui/src/features/campaigns/CampaignWorkspace.tsx"),
|
||||||
|
|||||||
@@ -30,6 +30,9 @@ LEGACY_LAYOUT_TOKENS = {
|
|||||||
"metric-grid",
|
"metric-grid",
|
||||||
}
|
}
|
||||||
CENTRAL_COMPONENTS = {
|
CENTRAL_COMPONENTS = {
|
||||||
|
"PageActionBar": pathlib.Path(
|
||||||
|
"govoplan-core/webui/src/components/PageActionBar.tsx"
|
||||||
|
),
|
||||||
"ActionToolbar": pathlib.Path(
|
"ActionToolbar": pathlib.Path(
|
||||||
"govoplan-core/webui/src/components/ActionToolbar.tsx"
|
"govoplan-core/webui/src/components/ActionToolbar.tsx"
|
||||||
),
|
),
|
||||||
@@ -115,6 +118,9 @@ CENTRAL_COMPONENTS = {
|
|||||||
),
|
),
|
||||||
}
|
}
|
||||||
REQUIRED_CONSUMERS = {
|
REQUIRED_CONSUMERS = {
|
||||||
|
"PageActionBar": (
|
||||||
|
pathlib.Path("govoplan-payments/webui/src/features/payments/PaymentsPage.tsx"),
|
||||||
|
),
|
||||||
"ActionToolbar": (
|
"ActionToolbar": (
|
||||||
pathlib.Path("govoplan-core/webui/src/components/WysiwygEditor.tsx"),
|
pathlib.Path("govoplan-core/webui/src/components/WysiwygEditor.tsx"),
|
||||||
pathlib.Path("govoplan-calendar/webui/src/features/calendar/CalendarPage.tsx"),
|
pathlib.Path("govoplan-calendar/webui/src/features/calendar/CalendarPage.tsx"),
|
||||||
@@ -432,7 +438,7 @@ def main() -> int:
|
|||||||
|
|
||||||
migrated = ", ".join(
|
migrated = ", ".join(
|
||||||
f"{name}={usage_counts[name]} files"
|
f"{name}={usage_counts[name]} files"
|
||||||
for name in ("ActionToolbar", "WorkspaceFrame", "WorkspaceLayout", "FilterBar", "StatePanel", "SelectionList", "CountBadge", "DefinitionPalette", "DefinitionNodeIcon", "FloatingStatus", "ContentSection", "ContentGrid", "FormGrid", "FormSection", "DialogForm", "DialogSection", "MetricGrid", "MetricCard", "DescriptionList")
|
for name in ("PageActionBar", "ActionToolbar", "WorkspaceFrame", "WorkspaceLayout", "FilterBar", "StatePanel", "SelectionList", "CountBadge", "DefinitionPalette", "DefinitionNodeIcon", "FloatingStatus", "ContentSection", "ContentGrid", "FormGrid", "FormSection", "DialogForm", "DialogSection", "MetricGrid", "MetricCard", "DescriptionList")
|
||||||
)
|
)
|
||||||
print(f"Shared WebUI primitive contract passed: {migrated}; {len(dialog_exceptions)} reviewed dialog width exceptions; no raw legacy anatomy.")
|
print(f"Shared WebUI primitive contract passed: {migrated}; {len(dialog_exceptions)} reviewed dialog width exceptions; no raw legacy anatomy.")
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -1147,36 +1147,32 @@
|
|||||||
"repository": "govoplan-parties"
|
"repository": "govoplan-parties"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"category": "missing_ui",
|
"category": "ui_reachable",
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
"path": "/payments/requests",
|
"path": "/payments/requests",
|
||||||
"rationale": "The first payment vertical slice is capability-first; its guided operator workspace will adopt the centralized layout usage contract.",
|
"rationale": "The Payments workspace lists obligations, preserves stale data on refresh failure, and offers explicit retry.",
|
||||||
"repository": "govoplan-payments",
|
"repository": "govoplan-payments"
|
||||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-payments/issues/1"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"category": "missing_ui",
|
"category": "ui_reachable",
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"path": "/payments/requests",
|
"path": "/payments/requests",
|
||||||
"rationale": "The first payment vertical slice is capability-first; its guided operator workspace will adopt the centralized layout usage contract.",
|
"rationale": "The guided Payments request dialog creates fixed, source-bound obligations with an explicit replay key.",
|
||||||
"repository": "govoplan-payments",
|
"repository": "govoplan-payments"
|
||||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-payments/issues/1"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"category": "missing_ui",
|
"category": "intentionally_headless",
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
"path": "/payments/requests/{}",
|
"path": "/payments/requests/{}",
|
||||||
"rationale": "The first payment vertical slice is capability-first; its guided operator workspace will adopt the centralized layout usage contract.",
|
"rationale": "The operator list response already carries the complete detail projection; the single-object endpoint remains available to capability consumers without duplicating a detail fetch in the workspace.",
|
||||||
"repository": "govoplan-payments",
|
"repository": "govoplan-payments"
|
||||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-payments/issues/1"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"category": "missing_ui",
|
"category": "ui_reachable",
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
"path": "/payments/requests/{}/manual-reconciliations",
|
"path": "/payments/requests/{}/manual-reconciliations",
|
||||||
"rationale": "The first payment vertical slice is capability-first; its guided operator workspace will adopt the centralized layout usage contract.",
|
"rationale": "The separate manual reconciliation dialog fixes amount and currency and captures transaction and immutable evidence references.",
|
||||||
"repository": "govoplan-payments",
|
"repository": "govoplan-payments"
|
||||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-payments/issues/1"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"category": "intentionally_headless",
|
"category": "intentionally_headless",
|
||||||
|
|||||||
Reference in New Issue
Block a user