From 7ad794170d2d2b8940302c6f7e67009c2de29f60 Mon Sep 17 00:00:00 2001 From: Johan Lundberg Date: Thu, 19 Feb 2026 14:20:57 +0100 Subject: [PATCH] feat: show admin link in manage nav for admin users --- src/porchlight/manage/routes.py | 6 ++++++ src/porchlight/templates/manage/base.html | 1 + 2 files changed, 7 insertions(+) diff --git a/src/porchlight/manage/routes.py b/src/porchlight/manage/routes.py index 9b9c82e..18358e8 100644 --- a/src/porchlight/manage/routes.py +++ b/src/porchlight/manage/routes.py @@ -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, }, ) diff --git a/src/porchlight/templates/manage/base.html b/src/porchlight/templates/manage/base.html index 15166e6..7096033 100644 --- a/src/porchlight/templates/manage/base.html +++ b/src/porchlight/templates/manage/base.html @@ -4,6 +4,7 @@ {% block manage_content %}{% endblock %} {% endblock %}