gealogiuya
This commit is contained in:
71
core/config/unfold_navigation.py
Normal file
71
core/config/unfold_navigation.py
Normal file
@@ -0,0 +1,71 @@
|
||||
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": _("Guruhlar"),
|
||||
"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"
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user