change
This commit is contained in:
@@ -12,20 +12,16 @@ class PermissionToActionListSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class PermissionToTabListSerializer(serializers.ModelSerializer):
|
class PermissionToTabListSerializer(serializers.ModelSerializer):
|
||||||
permission_to_actions = PermissionToActionListSerializer(many=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PermissionToTab
|
model = PermissionToTab
|
||||||
fields = [
|
fields = [
|
||||||
'id', 'name', 'code', 'permission_to_actions'
|
'id', 'name', 'code'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class PermissionListSerializer(serializers.ModelSerializer):
|
class PermissionListSerializer(serializers.ModelSerializer):
|
||||||
permission_tab = PermissionToTabListSerializer(many=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Permission
|
model = Permission
|
||||||
fields = [
|
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 rest_framework.response import Response
|
||||||
|
|
||||||
from core.apps.accounts.serializers import permission as serializers
|
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
|
from core.apps.accounts.permissions.permissions import HasRolePermission
|
||||||
|
|
||||||
|
|
||||||
class PermissionListApiView(generics.ListAPIView):
|
class PermissionListApiView(generics.ListAPIView):
|
||||||
queryset = Permission.objects.prefetch_related('permission_tab')
|
|
||||||
serializer_class = serializers.PermissionListSerializer
|
serializer_class = serializers.PermissionListSerializer
|
||||||
|
queryset = None
|
||||||
permission_classes = [HasRolePermission]
|
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