permissions per page and add dam.rasadyar.com in allowed hosts
This commit is contained in:
@@ -5,6 +5,7 @@ from apps.authorization.api.v1.serializers import (
|
||||
PermissionSerializer,
|
||||
UserRelationSerializer
|
||||
)
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from apps.authorization.models import (
|
||||
Role,
|
||||
@@ -12,6 +13,7 @@ from apps.authorization.models import (
|
||||
UserRelations
|
||||
)
|
||||
from rest_framework import viewsets
|
||||
from django.db import transaction
|
||||
|
||||
|
||||
class RoleViewSet(viewsets.ModelViewSet):
|
||||
@@ -27,6 +29,17 @@ class PermissionViewSet(viewsets.ModelViewSet):
|
||||
queryset = Permissions.objects.all()
|
||||
serializer_class = PermissionSerializer
|
||||
|
||||
@action(
|
||||
methods=['get'],
|
||||
detail=False,
|
||||
url_path='get_user_permissions',
|
||||
url_name='get_user_permissions',
|
||||
name='get_user_permissions'
|
||||
)
|
||||
@transaction.atomic
|
||||
def get_user_permissions(self, request):
|
||||
pass
|
||||
|
||||
|
||||
class UserRelationViewSet(viewsets.ModelViewSet):
|
||||
""" Crud Operations for User Relations """
|
||||
|
||||
@@ -14,9 +14,17 @@ class PermissionSerializer(serializers.ModelSerializer):
|
||||
fields = [
|
||||
'id',
|
||||
'name',
|
||||
'description'
|
||||
'description',
|
||||
'category',
|
||||
'page'
|
||||
]
|
||||
|
||||
def to_representation(self, instance):
|
||||
representation = super().to_representation(instance)
|
||||
representation['name'] = 'Hello'
|
||||
|
||||
return representation
|
||||
|
||||
|
||||
class RoleSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
@@ -63,7 +71,14 @@ class UserRelationSerializer(serializers.ModelSerializer):
|
||||
if instance.role:
|
||||
representation['role'] = RoleSerializer(instance.role).data
|
||||
if instance.permissions:
|
||||
representation['permissions'] = PermissionSerializer(instance.permissions, many=True).data
|
||||
permissions = instance.permissions.all()
|
||||
pages = {}
|
||||
for permission in permissions:
|
||||
if permission.page.name not in pages.keys():
|
||||
pages.update({
|
||||
f'{permission.page.name}': permission.page.permission_page.all().values('name')
|
||||
})
|
||||
representation['perms'] = pages
|
||||
|
||||
return representation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user