feat: show admin link in manage nav for admin users

This commit is contained in:
Johan Lundberg 2026-02-19 14:20:57 +01:00
parent 186be17b97
commit 7ad794170d
No known key found for this signature in database
GPG key ID: A6C152738D03C7D1
2 changed files with 7 additions and 0 deletions

View file

@ -26,10 +26,13 @@ async def credentials_page(request: Request) -> Response:
userid, username = session_user
cred_repo = request.app.state.credential_repo
user_repo = request.app.state.user_repo
webauthn_credentials = await cred_repo.get_webauthn_by_user(userid)
password_credential = await cred_repo.get_password_by_user(userid)
setup = request.query_params.get("setup")
user = await user_repo.get_by_userid(userid)
is_admin = user is not None and "admin" in user.groups
templates = request.app.state.templates
return templates.TemplateResponse(
@ -41,6 +44,7 @@ async def credentials_page(request: Request) -> Response:
"has_password": password_credential is not None,
"setup": setup,
"active_page": "credentials",
"is_admin": is_admin,
},
)
@ -177,6 +181,7 @@ async def profile_page(request: Request) -> Response:
userid, username = session_user
user_repo = request.app.state.user_repo
user = await user_repo.get_by_userid(userid)
is_admin = user is not None and "admin" in user.groups
templates = request.app.state.templates
return templates.TemplateResponse(
@ -186,6 +191,7 @@ async def profile_page(request: Request) -> Response:
"username": username,
"user": user,
"active_page": "profile",
"is_admin": is_admin,
},
)

View file

@ -4,6 +4,7 @@
<nav class="manage-nav" aria-label="Account management">
<a href="/manage/profile" {% if active_page == "profile" %}aria-current="page"{% endif %}>Profile</a>
<a href="/manage/credentials" {% if active_page == "credentials" %}aria-current="page"{% endif %}>Credentials</a>
{% if is_admin %}<a href="/admin/users">Admin</a>{% endif %}
</nav>
{% block manage_content %}{% endblock %}
{% endblock %}