Пример #1
0
    def post(self, request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))

        if customer:

          for product in products:
            order = Order(customer=Customer(id=customer),
                          product=product,

                          brandname=product.brandname,
                          variety=product.variety,
                          weight=product.weight,
                          price=product.price,
                          address=address,
                          phone=phone,

                          quantity=cart.get(str(product.id)))

            order.save();

          request.session['cart'] = {}
          return redirect('cart')

        else:
            return redirect('login')
Пример #2
0
 def post(self, request):
     # print(request.POST)
     address = request.POST.get('address')
     phone = request.POST.get('phone')
     customer = request.session.get('customer_id')
     print(address, phone, customer)
     cart = request.session.get('cart')
     products_on_cart = list(cart.keys())
     products = Product.get_cart_product(products_on_cart)
     print(cart, products)
     for product in products:
         product = product
         price = product.price
         quantity = cart.get(str(product.id))
         print(customer)
         order = Order(customer=Customer(id=customer),
                       product=product,
                       price=price,
                       quantity=quantity,
                       address=address,
                       phone=phone)
         order.palceOrder()
         #empty card after saving or palcing the order
         request.session['cart'] = {}
         # order.save() can be used as it is used in placeorder() method.
     return redirect('cartpage')
Пример #3
0
 def post(self, request):
     customer = request.session.get('customer')
     if not customer:
         messages.warning(
             request, f'You to have login to check out, please login now.')
         return redirect('login')
     else:
         address = request.POST.get('address')
         phone = request.POST.get('phone')
         cart = request.session.get('cart')
         products = Product.get_products_by_id(list(cart.keys()))
         for product in products:
             order = Order(customer=Customer(id=customer),
                           product=product,
                           price=product.price,
                           quantity=cart.get(str(product.id)),
                           address=address,
                           phone=phone)
             request.session['cart'] = {}
             order.placeOrder()
         messages.success(
             request,
             f'Thank you for purchasing!!! Please click on Orders tab to view your orders.'
         )
         return redirect('cart')
Пример #4
0
    def post(self, request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        GrandTotal = int(request.POST.get('GrandTotal'))
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))
        error_message = None
        error_message = self.validateCustomer(address,phone)

        if not error_message:
            orderID = random.randint(0,9999)
            for product in products:
                order = Order(customer=Customer(id=customer),
                          product=product,
                          price=product.price,
                          address=address,
                          phone=phone,
                          grandtotal=GrandTotal,
                          orderId=orderID,
                          quantity=cart.get(str(product.id)))
                order.save()
            request.session['cart'] = {}
            messages.success(request,"Order placed successfully!")
            return redirect('orders')
        else:
            messages.warning(request,error_message)
            return redirect('cart')
Пример #5
0
    def post(self, request):
        addressline1 = request.POST.get('addressline1')
        addressline2 = request.POST.get('addressline2')
        phone = request.POST.get('phone')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        city = request.session.get('city')
        pincode = request.session.get('pincode')
        state = request.session.get('state')
        products = Product.get_products_by_id(list(cart.keys()))
        print(addressline1, addressline2, city, state, pincode, phone,
              customer, cart, products)

        for product in products:
            print(cart.get(str(product.id)))
            order = Order(customer=Customer(id=customer),
                          product=product,
                          price=product.price,
                          city=city,
                          state=state,
                          address1=addressline1,
                          address2=addressline2,
                          pincode=pincode,
                          phone=phone,
                          quantity=cart.get(str(product.id)))
            order.save()
        request.session['cart'] = {}

        return redirect('cart')
Пример #6
0
    def post(self,request):
       
        options = request.POST.get('option')
        search = request.POST.get('search')
        if options == "date":
            orders = Order.get_orders_by_date(search)
        elif options == "orderID":
            orders = Order.get_allorders_by_orderid(search)
        elif search == "":
            orders = Order.get_allorders()
        a = []
        
        for o in orders:
            a.append(o.orderId)
            
        orderId = set(a)

       
        filteredObject = []
        for val in orderId:
            filteredObject.append(Order.get_allorders_by_order_id(val))
       
       
        data = {}
        data['orders'] = orders
        data['orderIds'] = orderId
        data['filteredObjects'] = set(filteredObject)
        
        
        
        return render(request , 'allorders.html'  , data)
Пример #7
0
	def post(self , request):
		address = request.POST.get('address')
		phone = request.POST.get('phone')
		customer = request.session.get('customer')
		cart = request.session.get('cart')
		products = Product.get_products_by_id(list(cart.keys()))

		for product in products:
			order = Order(customer = Customer(id=customer) , product = product , price = product.price , address = address , phone = phone , quantity = cart.get(str(product.id)))
			order.save()
		request.session['cart'] = {}
		return redirect('addcart')
Пример #8
0
    def get(self, request):
        if request.session.get('customer') != 'service_provider':
            customer = request.session.get('customer')
            orders = Order.get_orders_by_customer(customer)

        elif request.session.get('customer') == 'service_provider':
            service_provider = request.session.get('service_provider')
            print(service_provider)

            orders = Order.get_orders_by_service_provider(service_provider)

        # print(orders)
        return render(request, 'orders.html', {'orders': orders})
Пример #9
0
 def get(self, request):
     cart = request.session.get('cart')
     if not cart:
         request.session['cart'] = {}
     customer = request.session.get('customer')
     orders = Order.get_orders_by_customer(customer)
     return render(request, 'orders.html', {'orders': orders})
Пример #10
0
    def get(self, request):
        customer = request.session.get('customer')
        orders = Order.get_order_by_customer(customer)
        print(orders)
        orders = orders.reverse()

        return render(request, 'orders.html', {'orders': orders})
Пример #11
0
    def post(self, request):
        phone = request.POST.get('phone')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))
        print(phone, customer, cart, products)

        for product in products:
            order = Order(customer=Customer(id=customer),
                          product=product,
                          price=product.price,
                          phone=phone,
                          rental_time=cart.get(str(product.id)))
            order.save()
        request.session['cart'] = {}
        return redirect('cart')
Пример #12
0
    def post(self, request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        name = request.POST.get('name')
        zipcode = request.POST.get('zipcode')
        customer = request.session.get('customer')
        cart = request.session.get('cart')

        customer = request.session.get('customer')
        invoices = Invoice.get_invoice_by_customer(customer)

        products = Product.get_products_by_id(list(cart.keys()))
        print(address, phone, customer, cart, products)

        for product in products:
            print(cart.get(str(product.id)))
            order = Order(customer=Customer(id=customer),
                          product=product,
                          price=price_totalp(product, cart),
                          address=address,
                          phone=phone,
                          name=name,
                          zipcode=zipcode,
                          quantity=cart.get(str(product.id)))
            order.save()
            customer = request.session.get('customer')
            invoices = Invoice.get_invoice_by_customer(customer)
            invoices.delete()
        for product in products:
            print(cart.get(str(product.id)))
            invoice = Invoice(customer=Customer(id=customer),
                          product=product,
                          price=price_totalp(product, cart),
                          finalprice = price_total(product  , cart),
                          toalprice = total_cart_price(products , cart),
                          gst = gstprice(products , cart),
                          address=address,
                          phone=phone,
                          name=name,
                          zipcode=zipcode,
                          quantity=cart.get(str(product.id)))

            invoice.save()
        request.session['cart'] = {}

        return redirect('invoice')
Пример #13
0
 def get(self, request):
     customer = request.user
     orders = Order.get_orders_by_customer(customer)
     orderidmerge = Orderidmerge.get_orderid_by_customer(customer)
     return render(request, 'orders.html', {
         'orders': orders,
         'orderidmerge': orderidmerge
     })
Пример #14
0
    def post(self, request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        uid = request.session.get('uid')
        cart = request.session.get('cart')
        products = Product.get_products_by_ids(list(cart.keys()))

        for product in products:
            order = Order(product_id=product.id,
                          user_id=uid,
                          address=address,
                          phone=phone,
                          quantity=cart.get(str(product.id)),
                          price=product.price)
            order.create_order()
        request.session['cart'] = {}
        return redirect('cart')
 def post(self, request):
     # print(request.POST)
     address = request.POST.get('address')
     phone = request.POST.get('phone')
     customer = request.session.get('customer')
     cart = request.session.get('cart')
     products = Product.get_product_by_id(list(cart.keys()))
     print(address, phone, customer, cart, products)
     for product in products:
         order = Order(customer=Customer(id=customer),
                       product=product,
                       price=product.price,
                       quantity=cart.get(str(product.id)),
                       address=address,
                       phone=phone)
         print(order.placeOrder())
     request.session['cart'] = {}
     return redirect('cart')
Пример #16
0
    def post(self, request):
        address = request.POST.get("address")
        phone = request.POST.get("phone")
        customer = request.session.get("customer_id")
        cart = request.session.get("cart")
        products = Product.get_images_by_id(list(cart.keys()))
        print(address, phone, customer, cart, products)

        for product in products:
            order = Order(customer=Customer(id=customer),
                          productname=product,
                          price=product.price,
                          quantity=cart.get(str(product.id)),
                          phone=phone,
                          address=address)
            # print(order.placeOrder())
            order.save()
        request.session["cart"] = {}
        return redirect("cart")
Пример #17
0
	def get(self, request):
		customer = request.session.get('customer')
		orders = Order.get_orders_by_customer(customer)
		return render(request, 'orders.html', {'orders': orders})


			


		
Пример #18
0
    def get(self, request):
        customers = request.session.get('customer')
        orders = Order.get_orders_byID(customers)

        customer_id = request.session.get('customer')
        customers = customer.get_customer_byID(customer_id)
        data = {}
        data['username'] = customers
        data['orders'] = orders
        return render(request, 'orders.html', data)
Пример #19
0
    def post(self, request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))
        print(address, phone, customer, cart, products)

        for product in products:
            print(cart.get(str(product.id)))
            order = Order(customer=Customer(id=customer),
                          product=product,
                          price=product.price,
                          address=address,
                          phone=phone,
                          quantity=cart.get(str(product.id)))
            order.save()
        request.session['cart'] = {}
        messages.success(request, '¡GRACIAS POR TU COMPRA! UN REPARTIDOR HA SIDO ASIGNADO A TU PEDIDO.')
        return redirect('cart')
Пример #20
0
    def post(self, request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        # products= Product.get_products_by_id(list(cart.keys()))
        a = list(cart.keys())
        products = Product.objects.filter(id__in=a)
        print(address, phone, customer, products)

        for product in products:
            order = Order(category=Category(id=customer),
                          product=product,
                          price=product.price,
                          address=address,
                          phone=phone,
                          quantity=cart.get(str(product.id)))
            print(order)
            order.save()
        return redirect('cart')
Пример #21
0
 def post(self, request):
     address = request.POST.get('address')
     phone = request.POST.get('phone')
     customer = request.session.get('customer')
     cart = request.session.get('cart')
     products = Product.get_products_by_id(list(cart.keys()))
     print(address, phone, customer, cart, products)
     if customer:
         for p in products:
             order = Order(product=p,
                           customer=Customer(id=customer),
                           price=p.price,
                           address=address,
                           phone=phone,
                           quantity=cart.get(str(p.id)))
             order.place_order()
         request.session['cart'] = {}
         return redirect('cart')
     else:
         return redirect('login')
Пример #22
0
    def post(self, request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))
        # print(address, phone, customer, cart, products)

        # iteration over products to save each order having a particular product object
        for product in products:
            order = Order(address=address,
                          phone=phone,
                          customer=Customer(id=customer),
                          product=product,
                          quantity=cart.get(str(product.id)),
                          price=product.price)
            order.placeOrder()
        # for clearing cart after placing the orders
        request.session['cart'] = {}

        return redirect('cart')
Пример #23
0
 def post(self, request, *args, **kwargs):
     orderId = request.POST.get("orderId")
     orders = Order.get_allorders_by_orderid(orderId)
     get_Single_Order = Order.get_allorders_by_order_id(orderId)
     template = get_template('invoice.html')
     context = {
         "orderId": orderId,
         "orders": orders,
         "singleOrder": get_Single_Order
     }
     html = template.render(context)
     pdf = render_to_pdf('invoice.html', context)
     if pdf:
         response = HttpResponse(pdf, content_type='application/pdf')
         filename = "Invoice_%s" % (orderId)
         content = "inline; filename='%s'" % (filename)
         download = request.GET.get("download")
         if download:
             content = "attachment; filename='%s'" % (filename)
         response['Content-Disposition'] = content
         return response
     return HttpResponse("Not found")
Пример #24
0
    def get(self, request):

        customer = request.session.get('customer')
        orders = Order.get_orders_by_customer(customer)

        a = []

        for o in orders:
            a.append(o.orderId)

        orderId = list(dict.fromkeys(a))

        filteredObject = []
        for val in orderId:
            filteredObject.append(Order.get_allorders_by_order_id(val))

        data = {}
        data['orders'] = orders
        data['orderIds'] = orderId
        data['filteredObjects'] = set(filteredObject)

        return render(request, 'orders.html', data)
Пример #25
0
    def post(self,request):
        address = request.POST.get('address')
        phone = request.POST.get('phone')
        customer = request.session.get('customer_id')
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))
        # print(address, phone, customer,cart,products)

        for product in products:
            #create order object
            order = Order(
                customer = Customer(id=customer),
                product = product,
                price = product.price,
                phone = phone,
                address = address,
                quantity = cart.get(str(product.id))
            )
            #order save
            order.placeOrder()
        #cart clear
        request.session['cart'] ={}
        return redirect('cart')
Пример #26
0
    def post(self, request):
        order_date = request.POST.get('order_date')
        radio_btn = request.POST.get('radio_btn')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))
        print(order_date, radio_btn, customer, cart, products)

        for product in products:
            print(cart.get(str(product.id)))
            completion_date = datetime.now() + timedelta(
                days=product.complition_time)
            order = Order(customer=Customer(id=customer),
                          product=product,
                          service_provider=product.service_provider,
                          price=product.price,
                          Service_date=order_date,
                          Time_slots=radio_btn,
                          complition_date=completion_date,
                          quantity=cart.get(str(product.id)))
            order.save()
        request.session['cart'] = {}

        return redirect('cart')
Пример #27
0
    def get(self , request):
        orders = Order.get_allorders()
        
        a = []
        
        for o in orders:
            a.append(o.orderId)
            
        orderId = set(a)

       
        filteredObject = []
        for val in orderId:
            filteredObject.append(Order.get_allorders_by_order_id(val))
       
        
        data = {}
        data['orders'] = orders
        data['orderIds'] = orderId
        data['filteredObjects'] = set(filteredObject)
        
        
        
        return render(request , 'allorders.html'  , data)
Пример #28
0
    def post(self, request):
        firstname = request.POST.get('firstname')
        lastname = request.POST.get('lastname')
        phone = request.POST.get('phone')
        payment = request.POST.get('payment')
        address = request.POST.get('address')
        zipcode = request.POST.get('zipcode')
        city = request.POST.get('city')
        state = request.POST.get('state')
        country = request.POST.get('country')
        location = request.POST.get('location')
        customer = request.session.get('customer')
        cart = request.session.get('cart')
        product = Product.get_product_by_id(list(cart.keys()))
        for product in product:
            order = Order(customer=Customer(id=customer),
                          product=product,
                          price=product.price,
                          firstname=firstname,
                          lastname=lastname,
                          phone=phone,
                          payment=payment,
                          address=address,
                          zipcode=zipcode,
                          city=city,
                          state=state,
                          country=country,
                          location=location,
                          quantity=cart.get(str(product.id)))
            order.placeOrder()
        customer = request.session.get('customer')
        orders = Order.get_orders_by_customer(customer)
        order = request.session.get('order')
        ids = list(request.session.get('cart').keys())
        products = Product.get_product_by_id(ids)
        cart = request.session['cart']
        customer = Order(
            firstname=firstname,
            lastname=lastname,
            phone=phone,
            payment=payment,
            address=address,
            zipcode=zipcode,
            city=city,
            state=state,
            country=country,
            location=location,
        )
        error_message = None
        error_message = self.validateCustomer(customer)
        value = {
            'firstname': firstname,
            'lastname': lastname,
            'phone': phone,
            'payment': payment,
            'address': address,
            'zipcode': zipcode,
            'city': city,
            'state': state,
            'location': location,
            'country': country,
        }
        if (not error_message):
            context = {
                'name': firstname + lastname,
                'phone': phone,
                'payment': payment,
                'address': address,
                'zipcode': zipcode,
                'city': city,
                'state': state,
                'location': location,
                'orders': orders,
                'products': products,
                'cart': cart,
            }
            template = render_to_string(
                '../../store/templates/ordersmail.html', context)
            id = request.session.get('customer')
            mail = Customer.objects.get(id=int(id)).email
            print(mail)
            email = EmailMultiAlternatives(
                'Thank You For The Order ',
                template,
                settings.EMAIL_HOST_USER,
                [mail],
            )
            email.attach_alternative(template, "text/html")
            email.send()
            request.session['cart'] = {}
            return redirect('orders')

        else:
            country = geocoder.description_for_number(
                phonenumbers.parse(customer.phone), "en")
            data = {
                'error': error_message,
                'values': value,
                'country': country
            }
            return render(request, 'checkout.html', data)
Пример #29
0
    def post(self, request):
        payment = request.POST.get('payment')
        fullname = request.POST.get('fullname')
        mobilenumber = request.POST.get('mobilenumber')
        pincode = request.POST.get('pincode')
        flat = request.POST.get('flat')
        area = request.POST.get('area')
        landmark = request.POST.get('landmark')
        city = request.POST.get('city')
        state = request.POST.get('state')

        # validation
        values = {
            'payment': payment,
            'fullname': fullname,
            'mobilenumber': mobilenumber,
            'pincode': pincode,
            'flat': flat,
            'area': area,
            'landmark': landmark,
            'city': city,
            'state': state
        }
        error_message = None
        if (not payment):
            error_message = "Select Payment Options !!!"
        elif (not state):
            error_message = "Select State Required !!!"

        customer = request.user
        cart = request.session.get('cart')
        products = Product.get_products_by_id(list(cart.keys()))
        customer_obj = customer
        order_id_list = []
        amount = 0
        transactionid = uuid.uuid1().hex
        if not error_message:
            for product in products:
                order = Order(customer=customer,
                              product=product,
                              price=product.price,
                              quantity=cart.get(str(product.id)))
                order.placeOrder()
                order_id_list.append(order.id)
                amount = amount + order.price * order.quantity
            if payment == "online":
                orderidmerge = Orderidmerge(customer=customer,
                                            transactionid=transactionid,
                                            orderid=order_id_list,
                                            amount=amount,
                                            payment="online")
            else:
                orderidmerge = Orderidmerge(customer=customer,
                                            transactionid=transactionid,
                                            orderid=order_id_list,
                                            amount=amount,
                                            payment="cod")
            orderidmerge.save()

            shippingaddress = Shippingaddress(
                order=Orderidmerge(id=orderidmerge.id),
                fullname=fullname,
                mobilenumber=mobilenumber,
                pincode=pincode,
                flat=flat,
                area=area,
                landmark=landmark,
                city=city,
                state=state)
            shippingaddress.save()
            if payment == "online":

                param_dict = {
                    'MID': 'LgWYcs58579287008550',
                    'ORDER_ID': str(orderidmerge.transactionid),
                    'TXN_AMOUNT': str(amount),
                    'CUST_ID': str(customer_obj.email),
                    'INDUSTRY_TYPE_ID': 'Retail',
                    'WEBSITE': 'WEBSTAGING',
                    'CHANNEL_ID': 'WEB',
                    'CALLBACK_URL': 'http://127.0.0.1:8000/handlerequest/',
                }
                param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
                    param_dict, MERCHANT_KEY)
                return render(request, 'paytm.html',
                              {'param_dict': param_dict})
            else:

                cart_obj = Cart.get_cart_by_customer(customer)
                cart_obj.delete()
                request.session['cart'] = {}
                response_dict = {
                    'RESPCODE': "01",
                    'ORDERID': orderidmerge.transactionid,
                }
                return render(request, 'paymentstatus.html',
                              {'response': response_dict})
        else:
            data = {'error': error_message, 'values': values}
            return render(request, 'checkout.html', data)
Пример #30
0
 def get(self, request):
     customer = request.session.get('customer')
     orders = Order.get_customer_orders(customer)
     print(customer, orders)
     return render(request, './order.html', {'orders': orders})