edit users solved conflicts

This commit is contained in:
Diego Calvo
2021-02-04 12:16:47 +01:00
parent 1bfe41c000
commit 7a7b27cc2b
6 changed files with 53 additions and 20 deletions

View File

@@ -14,6 +14,7 @@ from rest_framework.response import Response
from rest_framework.permissions import IsAdminUser, IsAuthenticated
from rest_framework.generics import UpdateAPIView
from rest_framework.decorators import api_view, permission_classes
from rest_framework_simplejwt.views import TokenObtainPairView
from companies.models import Company
@@ -35,22 +36,38 @@ logging.basicConfig(
)
class CustomTokenObtainPairView(TokenObtainPairView):
serializer_class = core_serializers.CustomTokenObtainPairSerializer
class CustomUserViewSet(viewsets.ModelViewSet):
model = models.CustomUser
# serializer_class = core_serializers.CustomUserSerializer
serializer_class = core_serializers.CustomUserReadSerializer
write_serializer_class = core_serializers.CustomUserWriteSerializer
model_name = 'custom_user'
queryset = models.CustomUser.objects.all()
permission_classes = [CustomUserPermissions,]
def get_serializer_class(self):
if self.action == 'update' and self.request.user.is_staff is False:
return core_serializers.UpdateUserSerializer
elif self.request.user.is_staff is True:
return core_serializers.CustomUserAdminSerializer
return core_serializers.CustomUserSerializer
def get_permissions(self):
if self.action in ['retrieve', 'update', 'partial_update', 'destroy'] and self.request.user.is_anonymous is False:
return [YourOwnUserPermissions(), ]
return super(CustomUserViewSet, self).get_permissions()
def create(self, request):
"""
Create Instance
"""
serializer_class = self.get_serializer_class()
try:
serializer = self.write_serializer_class(
serializer = serializer_class(
data=request.data,
)
if serializer.is_valid():
@@ -60,7 +77,7 @@ class CustomUserViewSet(viewsets.ModelViewSet):
instance.set_password(password)
instance.save()
return Response(self.serializer_class(
return Response(serializer_class(
instance, many=False, context={'request': request}).data,
status=status.HTTP_201_CREATED)
else: