Esempio n. 1
0
    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})
Esempio n. 2
0
 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)
Esempio n. 3
0
 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/')
Esempio n. 4
0
 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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)