Files
backend/core/config/unfold_navigation.py
Husanjonazamov 2add18b8d2
Some checks failed
Deploy Django Application to Server / deploy (push) Failing after 10s
Telegram Notifications / Telegram Gate (push) Failing after 5s
adminka togirlandi
2026-03-03 15:23:11 +05:00

72 lines
2.1 KiB
Python

from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _
def user_has_group_or_permission(user, permission):
if user.is_superuser:
return True
group_names = user.groups.values_list("name", flat=True)
if not group_names:
return True
return user.groups.filter(permissions__codename=permission).exists()
PAGES = [
{
"seperator": True,
"items": [
{
"title": _("Bosh sahifa"),
"icon": "home",
"link": reverse_lazy("admin:index"),
},
],
},
{
"seperator": True,
"title": _("Foydalanuvchilar"),
"items": [
{
"title": _("Groups"),
"icon": "person_add",
"link": reverse_lazy("admin:auth_group_changelist"),
"permission": lambda request: user_has_group_or_permission(
request.user, "view_group"
),
},
{
"title": _("Foydalanuvchilar"),
"icon": "person_add",
"link": reverse_lazy("admin:auth_user_changelist"),
"permission": lambda request: user_has_group_or_permission(
request.user, "view_user"
),
},
],
},
{
"seperator": True,
"title": _("Geologiya"),
"items": [
{
"title": _("Madanlar"),
"icon": "hiking",
"link": reverse_lazy("admin:geology_geology_changelist"),
"permission": lambda request: user_has_group_or_permission(
request.user, "view_geology"
),
},
{
"title": _("Galereya"),
"icon": "gallery_thumbnail",
"link": reverse_lazy("admin:geology_gallerycategory_changelist"),
"permission": lambda request: user_has_group_or_permission(
request.user, "view_photo"
),
},
],
},
]