Harmonize module metadata and expose View surfaces
This commit is contained in:
@@ -3,7 +3,8 @@ from __future__ import annotations
|
|||||||
from govoplan_admin.backend.db import models as admin_models # noqa: F401 - populate Admin ORM metadata
|
from govoplan_admin.backend.db import models as admin_models # noqa: F401 - populate Admin ORM metadata
|
||||||
from govoplan_core.core.access import CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER
|
from govoplan_core.core.access import CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER
|
||||||
from govoplan_core.core.module_guards import persistent_table_uninstall_guard
|
from govoplan_core.core.module_guards import persistent_table_uninstall_guard
|
||||||
from govoplan_core.core.modules import MigrationSpec, ModuleContext, ModuleManifest
|
from govoplan_core.core.modules import FrontendModule, MigrationSpec, ModuleContext, ModuleManifest
|
||||||
|
from govoplan_core.core.views import ViewSurface
|
||||||
from govoplan_core.db.base import Base
|
from govoplan_core.db.base import Base
|
||||||
|
|
||||||
|
|
||||||
@@ -20,6 +21,19 @@ manifest = ModuleManifest(
|
|||||||
version="0.1.8",
|
version="0.1.8",
|
||||||
required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR),
|
required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR),
|
||||||
route_factory=_route_factory,
|
route_factory=_route_factory,
|
||||||
|
frontend=FrontendModule(
|
||||||
|
module_id="admin",
|
||||||
|
package_name="@govoplan/admin-webui",
|
||||||
|
view_surfaces=(
|
||||||
|
ViewSurface(id="admin.section.overview", module_id="admin", kind="section", label="Administration overview", order=0),
|
||||||
|
ViewSurface(id="admin.section.system-settings", module_id="admin", kind="section", label="System settings", order=10),
|
||||||
|
ViewSurface(id="admin.section.system-configuration-changes", module_id="admin", kind="section", label="Configuration changes", order=20),
|
||||||
|
ViewSurface(id="admin.section.system-configuration-packages", module_id="admin", kind="section", label="Configuration packages", order=30),
|
||||||
|
ViewSurface(id="admin.section.system-role-templates", module_id="admin", kind="section", label="Role templates", order=40),
|
||||||
|
ViewSurface(id="admin.section.system-groups", module_id="admin", kind="section", label="Group templates", order=50),
|
||||||
|
ViewSurface(id="admin.section.system-modules", module_id="admin", kind="section", label="Modules", order=85),
|
||||||
|
),
|
||||||
|
),
|
||||||
migration_spec=MigrationSpec(module_id="admin", metadata=Base.metadata),
|
migration_spec=MigrationSpec(module_id="admin", metadata=Base.metadata),
|
||||||
uninstall_guard_providers=(
|
uninstall_guard_providers=(
|
||||||
persistent_table_uninstall_guard(
|
persistent_table_uninstall_guard(
|
||||||
|
|||||||
@@ -355,8 +355,8 @@ export default function ModuleManagementPanel({ settings, canWrite, canAccessMai
|
|||||||
<div className="module-management-meta">
|
<div className="module-management-meta">
|
||||||
<ModuleStatus module={module} desiredEnabled={desiredEnabled} />
|
<ModuleStatus module={module} desiredEnabled={desiredEnabled} />
|
||||||
{module.protected && <StatusBadge status="locked" label="i18n:govoplan-admin.locked.a798882f" />}
|
{module.protected && <StatusBadge status="locked" label="i18n:govoplan-admin.locked.a798882f" />}
|
||||||
{module.frontend_package && <span>{module.frontend_package}</span>}
|
<span>i18n:govoplan-admin.webui_package.19645536 <code>{module.frontend_package ?? "none"}</code></span>
|
||||||
{module.migration_module_id && <span>i18n:govoplan-admin.db.e355c23a {module.migration_module_id}</span>}
|
<span>i18n:govoplan-admin.db.e355c23a <code>{module.migration_module_id ?? "none"}</code></span>
|
||||||
</div>
|
</div>
|
||||||
<div className="module-management-details">
|
<div className="module-management-details">
|
||||||
<span>i18n:govoplan-admin.requires.a4fc9357 {module.dependencies.length ? module.dependencies.join(", ") : "none"}</span>
|
<span>i18n:govoplan-admin.requires.a4fc9357 {module.dependencies.length ? module.dependencies.join(", ") : "none"}</span>
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ const adminSections: AdminSectionsUiCapability = {
|
|||||||
sections: [
|
sections: [
|
||||||
{
|
{
|
||||||
id: "overview",
|
id: "overview",
|
||||||
|
surfaceId: "admin.section.overview",
|
||||||
label: "i18n:govoplan-admin.overview.0efc2e6b",
|
label: "i18n:govoplan-admin.overview.0efc2e6b",
|
||||||
group: "ROOT",
|
group: "ROOT",
|
||||||
order: 0,
|
order: 0,
|
||||||
@@ -31,6 +32,7 @@ const adminSections: AdminSectionsUiCapability = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "system-settings",
|
id: "system-settings",
|
||||||
|
surfaceId: "admin.section.system-settings",
|
||||||
label: "i18n:govoplan-admin.general.9239ee2c",
|
label: "i18n:govoplan-admin.general.9239ee2c",
|
||||||
group: "SYSTEM",
|
group: "SYSTEM",
|
||||||
order: 10,
|
order: 10,
|
||||||
@@ -43,6 +45,7 @@ const adminSections: AdminSectionsUiCapability = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "system-configuration-changes",
|
id: "system-configuration-changes",
|
||||||
|
surfaceId: "admin.section.system-configuration-changes",
|
||||||
label: "i18n:govoplan-admin.changes.8aa57de6",
|
label: "i18n:govoplan-admin.changes.8aa57de6",
|
||||||
group: "SYSTEM",
|
group: "SYSTEM",
|
||||||
order: 20,
|
order: 20,
|
||||||
@@ -54,6 +57,7 @@ const adminSections: AdminSectionsUiCapability = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "system-configuration-packages",
|
id: "system-configuration-packages",
|
||||||
|
surfaceId: "admin.section.system-configuration-packages",
|
||||||
label: "i18n:govoplan-admin.configuration_packages.eb2f05f1",
|
label: "i18n:govoplan-admin.configuration_packages.eb2f05f1",
|
||||||
group: "SYSTEM",
|
group: "SYSTEM",
|
||||||
order: 30,
|
order: 30,
|
||||||
@@ -65,6 +69,7 @@ const adminSections: AdminSectionsUiCapability = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "system-role-templates",
|
id: "system-role-templates",
|
||||||
|
surfaceId: "admin.section.system-role-templates",
|
||||||
label: "i18n:govoplan-admin.tenant_roles.51aca82d",
|
label: "i18n:govoplan-admin.tenant_roles.51aca82d",
|
||||||
group: "SYSTEM",
|
group: "SYSTEM",
|
||||||
order: 40,
|
order: 40,
|
||||||
@@ -78,6 +83,7 @@ const adminSections: AdminSectionsUiCapability = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "system-modules",
|
id: "system-modules",
|
||||||
|
surfaceId: "admin.section.system-modules",
|
||||||
label: "i18n:govoplan-admin.modules.04e9462c",
|
label: "i18n:govoplan-admin.modules.04e9462c",
|
||||||
group: "SYSTEM",
|
group: "SYSTEM",
|
||||||
order: 85,
|
order: 85,
|
||||||
@@ -90,6 +96,7 @@ const adminSections: AdminSectionsUiCapability = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "system-groups",
|
id: "system-groups",
|
||||||
|
surfaceId: "admin.section.system-groups",
|
||||||
label: "i18n:govoplan-admin.groups.ae9629f4",
|
label: "i18n:govoplan-admin.groups.ae9629f4",
|
||||||
group: "SYSTEM",
|
group: "SYSTEM",
|
||||||
order: 50,
|
order: 50,
|
||||||
@@ -110,6 +117,15 @@ export const adminModule: PlatformWebModule = {
|
|||||||
version: "1.0.0",
|
version: "1.0.0",
|
||||||
dependencies: ["access"],
|
dependencies: ["access"],
|
||||||
translations,
|
translations,
|
||||||
|
viewSurfaces: [
|
||||||
|
{ id: "admin.section.overview", moduleId: "admin", kind: "section", label: "Administration overview", order: 0 },
|
||||||
|
{ id: "admin.section.system-settings", moduleId: "admin", kind: "section", label: "System settings", order: 10 },
|
||||||
|
{ id: "admin.section.system-configuration-changes", moduleId: "admin", kind: "section", label: "Configuration changes", order: 20 },
|
||||||
|
{ id: "admin.section.system-configuration-packages", moduleId: "admin", kind: "section", label: "Configuration packages", order: 30 },
|
||||||
|
{ id: "admin.section.system-role-templates", moduleId: "admin", kind: "section", label: "Role templates", order: 40 },
|
||||||
|
{ id: "admin.section.system-groups", moduleId: "admin", kind: "section", label: "Group templates", order: 50 },
|
||||||
|
{ id: "admin.section.system-modules", moduleId: "admin", kind: "section", label: "Modules", order: 85 }
|
||||||
|
],
|
||||||
uiCapabilities: {
|
uiCapabilities: {
|
||||||
"admin.sections": adminSections
|
"admin.sections": adminSections
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user