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)
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)
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
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)
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
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)
def post(self, request): user = UserSerializer(data=request.data) if user.is_valid(): user.save() return Response({"success": "User created successfully"})