From 7829c9c625b9ec69c6ce596e758ea88d36933d2d Mon Sep 17 00:00:00 2001 From: xoliqberdiyev Date: Tue, 28 Apr 2026 18:17:21 +0500 Subject: [PATCH] fix --- config/conf/navigation.py | 26 +++++++++++ core/apps/accounts/admin/permission.py | 49 ++++++++++++++++---- core/apps/accounts/serializers/permission.py | 24 ++++++++-- 3 files changed, 88 insertions(+), 11 deletions(-) diff --git a/config/conf/navigation.py b/config/conf/navigation.py index 409504c..a011d9b 100644 --- a/config/conf/navigation.py +++ b/config/conf/navigation.py @@ -186,5 +186,31 @@ PAGES = [ "link": reverse_lazy("admin:shared_villagemodel_changelist"), }, ] + }, + { + "title": _("Ruxsatlar"), + "separator": True, + "items": [ + { + "title": _("Ruxsatlar"), + "icon": "attach_file", + "link": reverse_lazy("admin:accounts_permission_changelist"), + }, + { + "title": _("Sahifa uchun ruxsatlar"), + "icon": "attach_file", + "link": reverse_lazy("admin:accounts_permissiontotab_changelist"), + }, + { + "title": _("Actionlar uchun ruxsatlar"), + "icon": "attach_file", + "link": reverse_lazy("admin:accounts_permissiontoaction_changelist"), + }, + { + "title": _("Role"), + "icon": "attach_file", + "link": reverse_lazy("admin:accounts_role_changelist"), + }, + ] } ] diff --git a/core/apps/accounts/admin/permission.py b/core/apps/accounts/admin/permission.py index aaa880e..25f50e8 100644 --- a/core/apps/accounts/admin/permission.py +++ b/core/apps/accounts/admin/permission.py @@ -6,13 +6,16 @@ from core.apps.accounts.models.permission import ( Role, ) - @admin.register(PermissionToAction) class PermissionToActionAdmin(admin.ModelAdmin): list_display = ("id", "name", "code", "created_at") search_fields = ("name", "code") - list_filter = ("created_at",) - ordering = ("-id",) + + fieldsets = ( + ("Asosiy", { + "fields": ("name", "code"), + }), + ) @admin.register(PermissionToTab) @@ -20,8 +23,15 @@ class PermissionToTabAdmin(admin.ModelAdmin): list_display = ("id", "name", "code", "created_at") search_fields = ("name", "code") filter_horizontal = ("permission_to_actions",) - list_filter = ("created_at",) - ordering = ("-id",) + + fieldsets = ( + ("Asosiy", { + "fields": ("name", "code"), + }), + ("Harakatlar", { + "fields": ("permission_to_actions",), + }), + ) @admin.register(Permission) @@ -29,16 +39,39 @@ class PermissionAdmin(admin.ModelAdmin): list_display = ("id", "name", "code", "created_at") search_fields = ("name", "code") filter_horizontal = ("permission_tabs",) - list_filter = ("created_at",) - ordering = ("-id",) + + fieldsets = ( + ("Asosiy", { + "fields": ("name", "code"), + }), + ("Bog‘lanishlar", { + "fields": ("permission_tabs",), + }), + ) @admin.register(Role) class RoleAdmin(admin.ModelAdmin): list_display = ("id", "name") search_fields = ("name",) + filter_horizontal = ( "permissions", "permission_to_tabs", "permission_to_actions", - ) \ No newline at end of file + ) + + fieldsets = ( + ("Asosiy ma'lumotlar", { + "fields": ("name", "comment"), + }), + ("Sahifa ruxsatlari", { + "fields": ("permissions",), + }), + ("Bo‘lim ruxsatlari", { + "fields": ("permission_to_tabs",), + }), + ("Harakat ruxsatlari", { + "fields": ("permission_to_actions",), + }), + ) diff --git a/core/apps/accounts/serializers/permission.py b/core/apps/accounts/serializers/permission.py index d3ee076..f3e05cb 100644 --- a/core/apps/accounts/serializers/permission.py +++ b/core/apps/accounts/serializers/permission.py @@ -25,10 +25,28 @@ class PermissionSerializer(serializers.ModelSerializer): fields = ['id', 'name', 'permission_tabs'] +class PermissionToActionListSerializer(serializers.ModelSerializer): + class Meta: + model = PermissionToAction + fields = ['id', 'name'] + + +class PermissionToTabListSerializer(serializers.ModelSerializer): + class Meta: + model = PermissionToTab + fields = ['id', 'name'] + + +class PermissionListSerializer(serializers.ModelSerializer): + class Meta: + model = Permission + fields = ['id', 'name'] + + class RoleListSerializer(serializers.ModelSerializer): - permissions = PermissionSerializer(many=True) - permission_to_tabs = PermissionToTabSerializer(many=True) - permission_to_actions = PermissionToActionSerializer(many=True) + permissions = PermissionListSerializer(many=True) + permission_to_tabs = PermissionToTabListSerializer(many=True) + permission_to_actions = PermissionToActionListSerializer(many=True) class Meta: model = Role