def customer_detail(request, pk): print("custumer-detail", request.method) try: customer = Customer.objects.get(pk=pk) except Customer.DoesNotExist: return HttpResponse(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': customer_serializer = CustomerSerializer(customer) return JsonResponse(customer_serializer.data) elif request.method == 'PUT': print("reach here") customer_data = JSONParser().parse(request) customer_serializer = CustomerSerializer(customer, data=customer_data) if customer_serializer.is_valid(): print("reach here2") customer_serializer.save() return JsonResponse(customer_serializer.data) return JsonResponse(customer_serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': customer.delete() return HttpResponse(status=status.HTTP_204_NO_CONTENT)
def put(self, request, pk): data = self.get_object(pk) serializer = CustomerSerializer(data, request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(status.HTTP_400_BAD_REQUEST)
def post(self, request): serializer = CustomerSerializer(data=request.data) if serializer.is_valid(): serializer.save() response = Response(serializer.data, status=status.HTTP_201_CREATED) else: response = Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) return response
def login(request): login_data = JSONParser().parse(request) login_serializer = CustomerSerializer(data=login_data) if login_serializer.is_valid(): login_serializer.save() return JsonResponse(login_serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(login_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def customer_detail(request, pk): try: customer = Customer.objects.get(pk=pk) except Customer.DoesNotExist: exceptionError = { 'message': "Not found a Customer with id = %s!" % pk, 'customers': "[]", 'error': "404 Code - Not Found!" } return JsonResponse(exceptionError, status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': customer_serializer = CustomerSerializer(customer) return JsonResponse(customer_serializer.data) elif request.method == 'PUT': try: customer_data = JSONParser().parse(request) customer_serializer = CustomerSerializer(customer, data=customer_data) if customer_serializer.is_valid(): customer_serializer.save() response = { 'message': "Successfully Update a Customer with id = %s" % pk, 'customers': [customer_serializer.data], 'error': "" } return JsonResponse(response) response = { 'message': "Fail to Update a Customer with id = %s" % pk, 'customers': [customer_serializer.data], 'error': customer_serializer.errors } return JsonResponse(response, status=status.HTTP_400_BAD_REQUEST) except: exceptionError = { 'message': "Fail to update a Customer with id = %s!" % pk, 'customers': [customer_serializer.data], 'error': "Internal Error!" } return JsonResponse(exceptionError, status=status.HTTP_500_INTERNAL_SERVER_ERROR) elif request.method == 'DELETE': print("Deleting a Customer with id=%s" % pk) customer.delete() customer_serializer = CustomerSerializer(customer) response = { 'message': "Successfully Delete a Customer with id = %s" % pk, 'customers': [customer_serializer.data], 'error': "" } return JsonResponse(response)
def forgot(request): forgot_data = JSONParser().parse(request) forgot_serializer = CustomerSerializer(data=forgot_data) if forgot_serializer.is_valid(): forgot_serializer.save() return JsonResponse(forgot_serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(forgot_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def test_create_customer(self): """Assert the CustomerSerializer successfully creates a new instance""" cust_with_addr_data = {k: v for k, v in self.customer_data.items()} cust_with_addr_data["address"] = self.address_data serializer = CustomerSerializer(data=cust_with_addr_data) self.assertTrue(serializer.is_valid()) serializer.save() self.assertEqual( Customer.objects.filter(**self.customer_data).count(), 2)
def put(self, request, pk): try: customer = Customer.objects.get(pk=pk) except Customer.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) serializer = CustomerSerializer(customer, data=request.data, context={'request': request}) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def customer_list(request, format = None): """ List all customers, or create a new customer_list """ if request.method == 'GET': customers = Customer.objects.all() serializer = CustomerSerializer(customers, many = True) return Response(serializer.data) elif request.method == 'POST': serializer = CustomerSerializer(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)
def customer_list(request): if request.method == 'GET': try: customers = Customer.objects.all() customers_serializer = CustomerSerializer(customers, many=True) response = { 'message': "Get all Customers'Infos Successfully", 'customers': customers_serializer.data, 'error': "" } return JsonResponse(response, status=status.HTTP_200_OK); except: error = { 'message': "Fail! -> can NOT get all the customers List. Please check again!", 'customers': "[]", 'error': "Error" } return JsonResponse(error, status=status.HTTP_500_INTERNAL_SERVER_ERROR) elif request.method == 'POST': try: customer_data = JSONParser().parse(request) customer_serializer = CustomerSerializer(data=customer_data) if customer_serializer.is_valid(): customer_serializer.save() print(customer_serializer.data) response = { 'message': "Successfully Upload a Customer with id = %d" % customer_serializer.data.get('id'), 'customers': [customer_serializer.data], 'error': "" } return JsonResponse(response, status=status.HTTP_201_CREATED) else: error = { 'message':"Can Not upload successfully!", 'customers':"[]", 'error': customer_serializer.errors } return JsonResponse(error, status=status.HTTP_400_BAD_REQUEST) except: exceptionError = { 'message': "Can Not upload successfully!", 'customers': "[]", 'error': "Having an exception!" } return JsonResponse(exceptionError, status=status.HTTP_500_INTERNAL_SERVER_ERROR);
def customer_list(request): if request.method == 'GET': customers = Customer.objects.all() customers_serializer = CustomerSerializer(customers, many=True) return JsonResponse(customers_serializer.data, safe=False) # In order to serialize objects, we must set 'safe=False' elif request.method == 'POST': customer_data = JSONParser().parse(request) customer_serializer = CustomerSerializer(data=customer_data) if customer_serializer.is_valid(): customer_serializer.save() return JsonResponse(customer_serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(customer_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def customer_list(request): if request.method == 'GET': customers = Customer.objects.all() customers_serializer = CustomerSerializer(customers, many=True) # print(customers_serializer.data) # return HttpResponse(json.dumps({'pickups':customers_serializer}),cotent_type="application/json") # return HttpResponse(customers_serializer, content_type="application/json") return JsonResponse(customers_serializer.data, safe=False) # In order to serialize objects, we must set 'safe=False' elif request.method == 'POST': customer_data = JSONParser().parse(request) customer_serializer = CustomerSerializer(data=customer_data) if customer_serializer.is_valid(): customer_serializer.save() return JsonResponse(customer_serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(customer_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def customer_list(request): if request.method == 'GET': customers = Customer.objects.all() customers_serializer = CustomerSerializer(customers, many=True) return JsonResponse(customers_serializer.data, safe=False) elif request.method == 'POST': customer_data = JSONParser().parse(request) customer_serializer = CustomerSerializer(data=customer_data) if customer_serializer.is_valid(): customer_serializer.save() return JsonResponse(customer_serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(customer_serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': Customer.objects.all().delete() return HttpResponse(status=status.HTTP_204_NO_CONTENT)
def put(self, request, customer_id): try: token = request.META['HTTP_AUTHORIZATION'] authenticated = authenticate(customer_id=customer_id, token=token) except KeyError: response = Response(status=status.HTTP_400_BAD_REQUEST) else: if authenticated: customer = get_object_or_404(Customer, id=customer_id) serializer = CustomerSerializer(customer, data=request.data, partial=True) if serializer.is_valid(): serializer.save() response = Response(serializer.data) else: response = Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) else: response = Response(status=status.HTTP_401_UNAUTHORIZED) return response
def register(request): # regData = JSONParser().parse(request) # customers_serializer = CustomerSerializer(regData, many=True) # return JsonResponse(customers_serializer.data, safe=False) register_data = JSONParser().parse(request) register_serializer = CustomerSerializer(data=register_data) # find tutorial by pk (id) try: tutorial = Customer.objects.get(email=register_data['email']) except Customer.DoesNotExist: register_serializer.is_valid() register_serializer.save() return JsonResponse(register_serializer.data, status=status.HTTP_201_CREATED) if register_serializer.is_valid(): register_serializer.save() return JsonResponse(register_serializer.data, status=status.HTTP_201_CREATED) return JsonResponse(register_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def customer_detail(request, pk, format = None): """ Retrieve, update or delete a customer instance. """ try: customer = Customer.objects.get(pk = pk) except Customer.DoesNotExist: return Response(status = status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = CustomerSerializer(customer) return Response(serializer.data) elif request.method == 'PUT': serializer = CustomerSerializer(customer, data = request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status = status.HTTP_404_BAD_REQUEST) elif request.method == 'DELETE': customer.delete() return Response(status = status.HTTP_204_NO_CONTENT)
def create(self, request, *args, **kwargs): data = request.data if isinstance(data['customer'], dict): cus_obj = Customer.objects.filter(mobile=data['customer']['mobile']) if not cus_obj: customer = CustomerSerializer(data=data['customer']) if customer.is_valid(): data['customer'] = customer.save().id else: data['customer'] = cus_obj[0].id surv = SurveySerializer(data=data) if surv.is_valid(): surv.save() return Response(surv.data, status=status.HTTP_201_CREATED) return Response(surv.errors, status=status.HTTP_400_BAD_REQUEST)