change
This commit is contained in:
@@ -12,20 +12,16 @@ class PermissionToActionListSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class PermissionToTabListSerializer(serializers.ModelSerializer):
|
||||
permission_to_actions = PermissionToActionListSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = PermissionToTab
|
||||
fields = [
|
||||
'id', 'name', 'code', 'permission_to_actions'
|
||||
'id', 'name', 'code'
|
||||
]
|
||||
|
||||
|
||||
class PermissionListSerializer(serializers.ModelSerializer):
|
||||
permission_tab = PermissionToTabListSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Permission
|
||||
fields = [
|
||||
'id', 'name', 'code', 'permission_tab'
|
||||
'id', 'name', 'code'
|
||||
]
|
||||
@@ -2,12 +2,28 @@ from rest_framework import generics
|
||||
from rest_framework.response import Response
|
||||
|
||||
from core.apps.accounts.serializers import permission as serializers
|
||||
from core.apps.accounts.models.permission import Permission
|
||||
from core.apps.accounts.models.permission import Permission, PermissionToAction, PermissionToTab
|
||||
from core.apps.accounts.permissions.permissions import HasRolePermission
|
||||
|
||||
|
||||
class PermissionListApiView(generics.ListAPIView):
|
||||
queryset = Permission.objects.prefetch_related('permission_tab')
|
||||
serializer_class = serializers.PermissionListSerializer
|
||||
queryset = None
|
||||
permission_classes = [HasRolePermission]
|
||||
pagination_class = None
|
||||
|
||||
def get(self, request):
|
||||
permissions = Permission.objects.all()
|
||||
permission_to_tabs = PermissionToTab.objects.all()
|
||||
permission_to_actions = PermissionToAction.objects.all()
|
||||
serializer = self.serializer_class(permissions, many=True)
|
||||
tab_permissions = serializers.PermissionToTabListSerializer(permission_to_tabs, many=True)
|
||||
action_permissions = serializers.PermissionToActionListSerializer(permission_to_actions, many=True)
|
||||
return Response(
|
||||
{
|
||||
'success': True,
|
||||
'permissions': serializer.data,
|
||||
'tab_permissions': tab_permissions.data,
|
||||
'action_permissions': action_permissions.data
|
||||
},
|
||||
status=200
|
||||
)
|
||||
Reference in New Issue
Block a user