feat: show admin link in manage nav for admin users
This commit is contained in:
parent
186be17b97
commit
7ad794170d
2 changed files with 7 additions and 0 deletions
|
|
@ -26,10 +26,13 @@ async def credentials_page(request: Request) -> Response:
|
||||||
|
|
||||||
userid, username = session_user
|
userid, username = session_user
|
||||||
cred_repo = request.app.state.credential_repo
|
cred_repo = request.app.state.credential_repo
|
||||||
|
user_repo = request.app.state.user_repo
|
||||||
|
|
||||||
webauthn_credentials = await cred_repo.get_webauthn_by_user(userid)
|
webauthn_credentials = await cred_repo.get_webauthn_by_user(userid)
|
||||||
password_credential = await cred_repo.get_password_by_user(userid)
|
password_credential = await cred_repo.get_password_by_user(userid)
|
||||||
setup = request.query_params.get("setup")
|
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
|
templates = request.app.state.templates
|
||||||
return templates.TemplateResponse(
|
return templates.TemplateResponse(
|
||||||
|
|
@ -41,6 +44,7 @@ async def credentials_page(request: Request) -> Response:
|
||||||
"has_password": password_credential is not None,
|
"has_password": password_credential is not None,
|
||||||
"setup": setup,
|
"setup": setup,
|
||||||
"active_page": "credentials",
|
"active_page": "credentials",
|
||||||
|
"is_admin": is_admin,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -177,6 +181,7 @@ async def profile_page(request: Request) -> Response:
|
||||||
userid, username = session_user
|
userid, username = session_user
|
||||||
user_repo = request.app.state.user_repo
|
user_repo = request.app.state.user_repo
|
||||||
user = await user_repo.get_by_userid(userid)
|
user = await user_repo.get_by_userid(userid)
|
||||||
|
is_admin = user is not None and "admin" in user.groups
|
||||||
|
|
||||||
templates = request.app.state.templates
|
templates = request.app.state.templates
|
||||||
return templates.TemplateResponse(
|
return templates.TemplateResponse(
|
||||||
|
|
@ -186,6 +191,7 @@ async def profile_page(request: Request) -> Response:
|
||||||
"username": username,
|
"username": username,
|
||||||
"user": user,
|
"user": user,
|
||||||
"active_page": "profile",
|
"active_page": "profile",
|
||||||
|
"is_admin": is_admin,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
<nav class="manage-nav" aria-label="Account management">
|
<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/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>
|
<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>
|
</nav>
|
||||||
{% block manage_content %}{% endblock %}
|
{% block manage_content %}{% endblock %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue