permissions per page and add dam.rasadyar.com in allowed hosts

This commit is contained in:
2025-05-31 16:40:23 +03:30
parent 821a33d0f6
commit 1f6854a6dc
6 changed files with 133 additions and 3 deletions

View File

@@ -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 """

View File

@@ -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