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:
@@ -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
|
||||
# ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user