Ejemplo n.º 1
0
 def post(self, request):
     serializer = UserSerializer(data=request.data)
     if serializer.is_valid():
         user = User.object.create_user(serializer.data['username'],
                                        serializer.data['email'],
                                        serializer.data['password'])
         refresh = RefreshToken.for_user(user=user)
         return JsonResponse(
             {
                 'refresh': str(refresh),
                 'access': str(refresh.access_token)
             },
             status=201)
     return JsonResponse(serializer.errors, status=400)
Ejemplo n.º 2
0
def user_list(request, format=None):
    if User.userAuth(request, tokkening=True) == False:
        print u"Access denied"
        return render_to_response('denied.html', context_instance=RequestContext(request))

    if request.method == 'GET':
        users = User.objects.all()
        serializer = UserSerializer(users, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 3
0
    def update(self, instance, validated_data):
        user_data = validated_data.get('user')
        user_serializer = UserSerializer(
            data=user_data, partial=True
        )  # Parcial=True, para evitarnos la validacion de los campos que son requeridos ya que podriamos solo querer actualizar ciertos campos de la instancia
        if user_serializer.is_valid(raise_exception=True):
            user_instance = user_serializer.update(
                instance=instance.user,
                validated_data=user_serializer.validated_data)

            validated_data['user'] = user_instance
            instance.user = validated_data.get('user', instance.user)
            instance.gas_company = validated_data.get('gas_company',
                                                      instance.gas_company)
            instance.save()
            return instance
Ejemplo n.º 4
0
def user_detail(request, pk, format=None):
    if User.userAuth(request, tokkening=True) == False:
        print u"Access denied"
        return Response(status=status.HTTP_403_FORBIDDEN)

    try:
        user = User.objects.get(id=pk)
    except User.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = UserSerializer(user)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = UserSerializer(user, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == 'DELETE':
        user.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)