def user_form_create(request): data = JSONParser().parse(request) serializer = UserSerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=201) return Response(serializer.errors, status=400)
def user_delete(request, pk): try: user = User.objects.get(pk=pk) except User.DoesNotExist: return Response({'error': 'User does not exist.'}, status=404) user.is_active = False serializer = UserSerializer(user, data=user.__dict__) if serializer.is_valid(): serializer.save() return Response(status=204) return Response(serializer.errors, status=400)
def user_form_update(request, pk): try: user = User.objects.get(pk=pk) except User.DoesNotExist: return Response({'error': 'User does not exist.'}, status=404) data = JSONParser().parse(request) if data.get('old_password') is not None: if user.check_password(data.get('old_password')): user.set_password(data.get('password')) user.save() return Response(status=200) else: return Response({'old_password': ['Wrong password']}, status=409) serializer = UserSerializer(user, data=data, partial=True) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=400)