Merge branch 'diego' into sam
This commit is contained in:
@@ -15,6 +15,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
|
||||
from history.models import HistorySync
|
||||
@@ -37,22 +38,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():
|
||||
@@ -62,7 +79,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:
|
||||
|
||||
Reference in New Issue
Block a user