SysOps: approved_backup — 2026-08-16 11:01 UTC
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
from fastapi import APIRouter, Request
|
||||
from fastapi.responses import RedirectResponse
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from pathlib import Path
|
||||
|
||||
from app import auth_users
|
||||
|
||||
router = APIRouter(tags=["settings"])
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
||||
@@ -10,15 +13,20 @@ templates = Jinja2Templates(directory=str(BASE_DIR / "templates"))
|
||||
|
||||
@router.get("/settings")
|
||||
async def settings_page(request: Request, tab: str = "email"):
|
||||
allowed = ("email", "general", "permissions", "social")
|
||||
allowed = ("email", "general", "permissions", "social", "users")
|
||||
active = tab if tab in allowed else "email"
|
||||
if tab == "ai":
|
||||
active = "email"
|
||||
user = getattr(request.state, "user", None)
|
||||
if active == "users" and not auth_users.can_manage_users(user):
|
||||
return RedirectResponse("/settings?tab=email", status_code=303)
|
||||
return templates.TemplateResponse(
|
||||
"settings.html",
|
||||
{
|
||||
"request": request,
|
||||
"page_title": "Settings",
|
||||
"active_tab": active,
|
||||
"can_manage_users": auth_users.can_manage_users(user),
|
||||
"current_user": user,
|
||||
},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user