예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)