fix
This commit is contained in:
14
core/apps/accounts/views/role.py
Normal file
14
core/apps/accounts/views/role.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from rest_framework import generics
|
||||
from rest_framework.response import Response
|
||||
|
||||
from core.apps.accounts.permissions.permissions import HasRolePermission
|
||||
from core.apps.accounts.models.role import Role
|
||||
from core.apps.accounts.serializers import role as serializers
|
||||
|
||||
|
||||
class RoleListApiView(generics.ListAPIView):
|
||||
serializer_class = serializers.RoleListSerializer
|
||||
queryset = Role.objects.all()
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = ['settings', 'user']
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from rest_framework import generics, views
|
||||
from rest_framework import generics, views, parsers
|
||||
from rest_framework.response import Response
|
||||
|
||||
from core.apps.accounts.models import User
|
||||
from core.apps.accounts.serializers import user as serializers
|
||||
from core.apps.accounts.permissions.permissions import HasRolePermission
|
||||
from core.apps.accounts.utils.permission import get_permissions_with_tabs
|
||||
from core.apps.shared.paginations.custom import CustomPageNumberPagination
|
||||
|
||||
|
||||
class UserProfileApiView(generics.GenericAPIView):
|
||||
@@ -30,6 +31,7 @@ class UserProfileUpdateApiView(generics.GenericAPIView):
|
||||
queryset = User.objects.all()
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = []
|
||||
parser_classes = [parsers.MultiPartParser, parsers.FormParser]
|
||||
|
||||
def patch(self, request):
|
||||
user = request.user
|
||||
@@ -42,9 +44,54 @@ class UserProfileUpdateApiView(generics.GenericAPIView):
|
||||
|
||||
class UserDeleteApiView(views.APIView):
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = ['delete_user']
|
||||
required_permissions = ['settings', 'user']
|
||||
|
||||
def delete(self, request, id):
|
||||
user = get_object_or_404(User, id=id)
|
||||
user.delete()
|
||||
return Response(status=204)
|
||||
return Response(status=204)
|
||||
|
||||
|
||||
class UserCreateApiView(generics.GenericAPIView):
|
||||
serializer_class = serializers.UserCreateSerializer
|
||||
queryset = User.objects.all()
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = ['settings', 'user']
|
||||
parser_classes = [parsers.MultiPartParser, parsers.FormParser]
|
||||
|
||||
def post(self, request):
|
||||
serializer = self.serializer_class(data=request.data)
|
||||
if serializer.is_valid():
|
||||
serializer.save()
|
||||
return Response(
|
||||
{"success": True, 'message': 'created'},
|
||||
status=201
|
||||
)
|
||||
return Response(
|
||||
{'success': False, 'message': serializer.errors},
|
||||
status=400
|
||||
)
|
||||
|
||||
|
||||
class UserListApiView(generics.ListAPIView):
|
||||
serializer_class = serializers.UserListSerializer
|
||||
queryset = User.objects.select_related('role')
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = ['settings', 'user']
|
||||
pagination_class = CustomPageNumberPagination
|
||||
|
||||
|
||||
class UserUpdateApiView(generics.GenericAPIView):
|
||||
serializer_class = serializers.UserProfileSerializer
|
||||
queryset = User.objects.all()
|
||||
permission_classes = [HasRolePermission]
|
||||
required_permissions = []
|
||||
parser_classes = [parsers.MultiPartParser, parsers.FormParser]
|
||||
|
||||
def patch(self, request, id):
|
||||
user = get_object_or_404(User, id=id)
|
||||
serializer = self.serializer_class(data=request.data, instance=user, partial=True)
|
||||
if serializer.is_valid():
|
||||
serializer.save()
|
||||
return Response({'success': True, 'message': 'updated'}, status=200)
|
||||
return Response({"success": False, "message": serializer.errors}, status=400)
|
||||
|
||||
Reference in New Issue
Block a user