def create(self, request, **kwargs): serializer = CustomerSerializer(data=request.data) if serializer.is_valid(): user = save_user(request.data, UserPermissions.IS_CUSTOMER) city = City(**request.data["city"]) customer = Customer( name=request.data["name"], type=UserType.CUSTOMER, lastName=request.data["lastName"], address=request.data["address"], identityDoc=request.data["identityDoc"], homePhone=request.data["homePhone"], cellPhone=request.data["cellPhone"], email=request.data["email"], city=city, user=user, ) customer.save() return Response( { "status": "SUCCESS", "msg_status": "Cliente creado satisfactoriamente. Puede ingresar con su nueva contrasena.", } ) else: messages = [] make_error(serializer.errors.values(), messages) return Response({"status": "FAILURE", "msg_status": messages})
def post(self, request): data = request.data try: cust_instance = Customer.objects.get(cust_email=data['cust_email']) except Customer.DoesNotExist as ex: cust_instance = None if cust_instance: # and str(cust_instance.cust_email) == data['cust_email']: return Response({"error": 'Customer already exists'}, status=400) serializer = CustomerSerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=201) return Response(serializer.errors, status=400)
def get(self, request): if request.user.is_authenticated: customers = Customer.objects.all() serializer = CustomerSerializer(customers, many=True) return Response(serializer.data) else: return HttpResponseRedirect('/login/')
def get(self, request, id): try: customer = self.get_object(id) serializer = CustomerSerializer(customer) return Response(serializer, status=200) except Customer.DoesNotExist as ex: return Response({"error : customer does not exist"}, status=404)
def get(self, request, id): try: customer = self.get_object(id) cust_serializer = CustomerSerializer(customer) rides = Ride_Details.objects.filter(cust_id=id) ride_serializer = Ride_DetailsSerializer(rides) return Response(ride_serializer.data, status=200) # return Response(serializer, status=200) except Customer.DoesNotExist as ex: return Response({"error : customer does not exist"}, status=404)
def post(self, request): """ summary: Add a new customer or update details of an existing one --- serializer: CustomerSerializer parameters: - name: primary_number required: false type: string - name: name required: true type: string - name: customer_id required: false type: integer """ try: if "customer_id" in request.data: customer = Customer.objects.get(pk=request.data["customer_id"]) customer.name = request.data["name"] customer.save() response = CustomerDetailSerializer(instance=customer).data else: customer = CustomerSerializer(data=request.data, partial=True) if customer.is_valid(): new_customer = customer.save() response = CustomerDetailSerializer(instance=new_customer).data else: response = customer.errors return JSONResponse(response, status=200) except Exception as e: beam(e) return JSONResponse({"Error": "Something went wrong"}, status=400)