示例#1
0
    def put(self, request, format = None): 
        contractor = Contractor.objects.get(user_id = request.user.id)
        requestData = request.data.copy() # Make a mutable copy of the request
        requestData['user'] = contractor.user_id # Set the user field to requesting user
        #Check if user has a new device id. Update it if there is 
        device_id = request.data.get('registration_id')
        if device_id != None:
            device = contractor.device 
            device.registration_id = device_id;
            device.save();
         
       #Check if user's email is the same as the one in the database, don't update it if it is
        oldEmail = request.user.username
        if (oldEmail == requestData.get('username') ):
            del requestData['username']

        serializer = UserSerializer(request.user, data = requestData, partial = True)
        if serializer.is_valid():
            serializer.save()
        else:
            return Response(serializer.errors, status = status.HTTP_400_BAD_REQUEST)
        
        serializer = ContractorSerializer(contractor, data = requestData, partial = True)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status = status.HTTP_400_BAD_REQUEST)
示例#2
0
 def update(self, request, *args, **kwargs):
     # one = get_user_model().objects.all().filter(username__exact=kwargs['pk'])
     if request.user.username != get_user_model().objects.all().filter(username__exact=kwargs['pk']):
         raise PermissionError
     else:
         data = UserSerializer(JSONParser().parse(request.DATA))
         if data.is_valid():
             data.save()
         else:
             raise Http404
示例#3
0
 def update(self, request, *args, **kwargs):
     # one = get_user_model().objects.all().filter(username__exact=kwargs['pk'])
     if request.user.username != get_user_model().objects.all().filter(
             username__exact=kwargs['pk']):
         raise PermissionError
     else:
         data = UserSerializer(JSONParser().parse(request.DATA))
         if data.is_valid():
             data.save()
         else:
             raise Http404
示例#4
0
    def post(self, request, *args, **kwargs):
        serializer = UserSerializer(data = request.data)
        if serializer.is_valid():
            serializer.save()
        else:
            return Response(serializer.errors, status = status.HTTP_400_BAD_REQUEST)

        device = GCMDevice.objects.create(registration_id=request.data.get('registration_id')) # create new GCMDevice with the given registration_id
        user = User.objects.get(username = request.data.get('username'))
        requestData = request.data.copy() # Make a mutable copy of the request
        requestData['user'] = user.id # Set the user field to requesting user
        requestData['device'] = device.id
        
        serializer = LabourerSerializer(data = requestData)
        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)
示例#5
0
 def post(self, request, *args, **kwargs):
     serializer = UserSerializer(data = request.data)
     if serializer.is_valid():
         serializer.save()
     else:
         return Response(serializer.errors, status = status.HTTP_400_BAD_REQUEST)
     device = GCMDevice.objects.create(registration_id=request.data.get('registration_id')) # create new GCMDevice with the given registration_id
     user = User.objects.get(username = request.data.get('username'))
     requestData = request.data.copy() # Make a mutable copy of the request
     requestData['user'] = user.id # Set the user field to requesting user
     requestData['device'] = device.id 
     token = request.data.get('stripe_token')
     customer = stripe.Customer.create(source=token, description="customer id " + str(user.id))
     requestData['customer_id'] = customer
     serializer = ContractorSerializer(data = requestData)
     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)
示例#6
0
    def put(self, request, format = None):
        print request.body
        if request.data.get('worker_id') != None:
            labourer = Labourer.objects.get(id = request.data.get('worker_id'))
            worker_rating = float(labourer.rating[:-1])
            num = int(labourer.rating[-1:])
            worker_rating = "%0.2f" % (worker_rating + float(request.data.get('rating')))
            num = num + 1
            labourer.rating = str(worker_rating) + str(num)
            labourer.save()
            return Response(status = status.HTTP_200_OK)

        labourer = Labourer.objects.get(user_id = request.user.id) 
        requestData = request.data.copy() # Make a mutable copy of the request
        requestData['user'] = labourer.user_id # Set the user field to requesting user
        
        # Check if user has a new registration id. Update it if there is 
        device_id = request.data.get('registration_id')
        if device_id != None:
            device = labourer.device 
            device.registration_id = device_id;
            device.save();
         
       # Check if user's username(email) is the same as the one in the database, don't update it if it is
        oldEmail = request.user.username
        if (oldEmail == requestData.get('username')):
            del requestData['username']

        serializer = UserSerializer(request.user, data = requestData, partial = True)
        if serializer.is_valid():
            serializer.save()
        else:
            return Response(serializer.errors, status = status.HTTP_400_BAD_REQUEST)

        serializer = LabourerSerializer(labourer, data = requestData, partial = True)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status = status.HTTP_400_BAD_REQUEST)
	def post(self, request, format=None):
		user_serializer = UserSerializer(data=request.DATA)
		errors = dict()
		if user_serializer.is_valid():
			user =user_serializer.save()
			data = request.DATA.copy()
			data['user'] = User.objects.latest('id').id
			user_profile_serializer = UserProfileSerializer(data=data)

			if user_profile_serializer.is_valid():
				user_profile_serializer.save()
				return Response(user_profile_serializer.data, status=status.HTTP_201_CREATED)

			errors.update(user_profile_serializer.errors)
			return Response(errors, status=status.HTTP_400_BAD_REQUEST)


		errors.update(user_serializer.errors)
		return Response(errors, status=status.HTTP_400_BAD_REQUEST)
示例#8
0
 def post(self, request):
     user = UserSerializer(data=request.data)
     if user.is_valid():
         user.save()
     return Response({"success": "User created successfully"})