Merge pull request 'fix' (#124) from behruz into main
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 2m17s

Reviewed-on: #124
This commit is contained in:
2026-04-28 13:17:52 +00:00
3 changed files with 88 additions and 11 deletions

View File

@@ -186,5 +186,31 @@ PAGES = [
"link": reverse_lazy("admin:shared_villagemodel_changelist"), "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"),
},
]
} }
] ]

View File

@@ -6,13 +6,16 @@ from core.apps.accounts.models.permission import (
Role, Role,
) )
@admin.register(PermissionToAction) @admin.register(PermissionToAction)
class PermissionToActionAdmin(admin.ModelAdmin): class PermissionToActionAdmin(admin.ModelAdmin):
list_display = ("id", "name", "code", "created_at") list_display = ("id", "name", "code", "created_at")
search_fields = ("name", "code") search_fields = ("name", "code")
list_filter = ("created_at",)
ordering = ("-id",) fieldsets = (
("Asosiy", {
"fields": ("name", "code"),
}),
)
@admin.register(PermissionToTab) @admin.register(PermissionToTab)
@@ -20,8 +23,15 @@ class PermissionToTabAdmin(admin.ModelAdmin):
list_display = ("id", "name", "code", "created_at") list_display = ("id", "name", "code", "created_at")
search_fields = ("name", "code") search_fields = ("name", "code")
filter_horizontal = ("permission_to_actions",) filter_horizontal = ("permission_to_actions",)
list_filter = ("created_at",)
ordering = ("-id",) fieldsets = (
("Asosiy", {
"fields": ("name", "code"),
}),
("Harakatlar", {
"fields": ("permission_to_actions",),
}),
)
@admin.register(Permission) @admin.register(Permission)
@@ -29,16 +39,39 @@ class PermissionAdmin(admin.ModelAdmin):
list_display = ("id", "name", "code", "created_at") list_display = ("id", "name", "code", "created_at")
search_fields = ("name", "code") search_fields = ("name", "code")
filter_horizontal = ("permission_tabs",) filter_horizontal = ("permission_tabs",)
list_filter = ("created_at",)
ordering = ("-id",) fieldsets = (
("Asosiy", {
"fields": ("name", "code"),
}),
("Boglanishlar", {
"fields": ("permission_tabs",),
}),
)
@admin.register(Role) @admin.register(Role)
class RoleAdmin(admin.ModelAdmin): class RoleAdmin(admin.ModelAdmin):
list_display = ("id", "name") list_display = ("id", "name")
search_fields = ("name",) search_fields = ("name",)
filter_horizontal = ( filter_horizontal = (
"permissions", "permissions",
"permission_to_tabs", "permission_to_tabs",
"permission_to_actions", "permission_to_actions",
) )
fieldsets = (
("Asosiy ma'lumotlar", {
"fields": ("name", "comment"),
}),
("Sahifa ruxsatlari", {
"fields": ("permissions",),
}),
("Bolim ruxsatlari", {
"fields": ("permission_to_tabs",),
}),
("Harakat ruxsatlari", {
"fields": ("permission_to_actions",),
}),
)

View File

@@ -25,10 +25,28 @@ class PermissionSerializer(serializers.ModelSerializer):
fields = ['id', 'name', 'permission_tabs'] 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): class RoleListSerializer(serializers.ModelSerializer):
permissions = PermissionSerializer(many=True) permissions = PermissionListSerializer(many=True)
permission_to_tabs = PermissionToTabSerializer(many=True) permission_to_tabs = PermissionToTabListSerializer(many=True)
permission_to_actions = PermissionToActionSerializer(many=True) permission_to_actions = PermissionToActionListSerializer(many=True)
class Meta: class Meta:
model = Role model = Role