feat: add module info and configuration pages to admin panel

Add dedicated pages for viewing module details and configuring module
settings. Includes routes, templates, and JS components for module
info page showing features, menu items, dependencies, and self-contained
module paths. Also adds View/Configure navigation buttons to the platform
modules list.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-26 22:55:12 +01:00
parent ec4ec045fc
commit 33072057c2
5 changed files with 539 additions and 0 deletions

View File

@@ -1274,6 +1274,69 @@ async def admin_platform_modules(
)
@router.get(
"/platforms/{platform_code}/modules/{module_code}",
response_class=HTMLResponse,
include_in_schema=False,
)
async def admin_module_info(
request: Request,
platform_code: str = Path(..., description="Platform code"),
module_code: str = Path(..., description="Module code"),
current_user: User = Depends(require_menu_access("platforms", FrontendType.ADMIN)),
db: Session = Depends(get_db),
):
"""
Render module info/detail page.
Shows module details including features, menu items, dependencies,
and self-contained module information.
"""
# Only super admins can access module details
if not current_user.is_super_admin:
return RedirectResponse(url=f"/admin/platforms/{platform_code}", status_code=302)
return templates.TemplateResponse(
"admin/module-info.html",
{
"request": request,
"user": current_user,
"platform_code": platform_code,
"module_code": module_code,
},
)
@router.get(
"/platforms/{platform_code}/modules/{module_code}/config",
response_class=HTMLResponse,
include_in_schema=False,
)
async def admin_module_config(
request: Request,
platform_code: str = Path(..., description="Platform code"),
module_code: str = Path(..., description="Module code"),
current_user: User = Depends(require_menu_access("platforms", FrontendType.ADMIN)),
db: Session = Depends(get_db),
):
"""
Render module configuration page.
Allows configuring module-specific settings.
"""
# Only super admins can access module configuration
if not current_user.is_super_admin:
return RedirectResponse(url=f"/admin/platforms/{platform_code}", status_code=302)
return templates.TemplateResponse(
"admin/module-config.html",
{
"request": request,
"user": current_user,
"platform_code": platform_code,
"module_code": module_code,
},
)
# ============================================================================
# CONTENT MANAGEMENT SYSTEM (CMS) ROUTES
# ============================================================================