diff --git a/core/apps/accounts/admin/__init__.py b/core/apps/accounts/admin/__init__.py index 6e3a821..99eb24f 100644 --- a/core/apps/accounts/admin/__init__.py +++ b/core/apps/accounts/admin/__init__.py @@ -1,2 +1,3 @@ from .core import * # noqa from .user import * # noqa +from .permission import * diff --git a/core/apps/accounts/admin/permission.py b/core/apps/accounts/admin/permission.py new file mode 100644 index 0000000..aaa880e --- /dev/null +++ b/core/apps/accounts/admin/permission.py @@ -0,0 +1,44 @@ +from django.contrib import admin +from core.apps.accounts.models.permission import ( + PermissionToAction, + PermissionToTab, + Permission, + 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",) + + +@admin.register(PermissionToTab) +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",) + + +@admin.register(Permission) +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",) + + +@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 diff --git a/core/apps/accounts/serializers/permission.py b/core/apps/accounts/serializers/permission.py index b219fc0..d3ee076 100644 --- a/core/apps/accounts/serializers/permission.py +++ b/core/apps/accounts/serializers/permission.py @@ -18,11 +18,11 @@ class PermissionToTabSerializer(serializers.ModelSerializer): class PermissionSerializer(serializers.ModelSerializer): - permission_to_tabs = PermissionToTabSerializer(many=True) + permission_tabs = PermissionToTabSerializer(many=True) class Meta: model = Permission - fields = ['id', 'name', 'permission_to_tabs'] + fields = ['id', 'name', 'permission_tabs'] class RoleListSerializer(serializers.ModelSerializer): diff --git a/core/apps/accounts/views/permission.py b/core/apps/accounts/views/permission.py index 3499b46..2035b60 100644 --- a/core/apps/accounts/views/permission.py +++ b/core/apps/accounts/views/permission.py @@ -30,7 +30,6 @@ class PermissionToTabViewSet(BaseViewSetMixin, ModelViewSet): serializer_class = PermissionToTabSerializer - @extend_schema(tags=["permission"]) class PermissionViewSet(BaseViewSetMixin, ModelViewSet): queryset = Permission.objects.all()