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')
def get(self, request): product_ids = list(request.session.get("cart").keys()) products = Product.get_products_by_id(product_ids) print(products) return render(request, "cart.html", {"products": products})
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')
def get(self , request): ids = list(request.session.get('cart').keys()) products = Product.get_products_by_id(ids) print(products) date_time = datetime.datetime.now() # print(date_time) return render(request , 'cart.html' , {'products' : products, 'date_time':date_time} )
def get(self, request): ids = list(request.session.get('cart').keys()) products = Product.get_products_by_id(ids) print(products) return render(request, 'cart.html', {'products': products})
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')
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')
def get(self, request): if request.session.get('cart'): ids = list(request.session.get('cart').keys()) products = Product.get_products_by_id(ids) return render(request, 'cart.html', {'products' : products}) else: return HttpResponse('<h1>Your cart is empty...</h1>')
def get(self,request): try: print('id', request.session.get('cart').keys()) ids = list(request.session.get('cart').keys()) products = Product.get_products_by_id(ids) return render(request, 'cart.html',{'products': products}) except Exception as e: print('2222') print(str(e)) # return render(request, 'cart.html')
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')
def profil_prp(request): iqre = request.GET['iqre'] product_list = [] iqre = int(iqre) product_list.append(iqre) categories = Category.get_all_categories() products = Product.get_products_by_id(product_list) print(products) dec = {} dec['categories'] = categories dec['products'] = products #prop={'products':products} return render(request, 'profil_prp.html', dec)
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')
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')
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: order = Orders(customer=Customer(id=customer), product=product, price=product.price, address=address, phone=phone, quantity=cart.get(str(product.id))) if customer: order.placeOrder() else: return redirect('login') request.session['cart'] = {} return redirect('cart')
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')
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')
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, "\t\t++++", products) for product in products: order = Order( customer=Customer(id=customer), product=product, address=address, phone=phone, price=product.price, quantity=cart.get(str(product.id)), ) print(order.placeOrder()) request.session["cart"] = {} return redirect("cart")
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')
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')
def checkout(request): ids = list(request.session.get('cart').keys()) products = Product.get_products_by_id(ids) return render(request, 'checkout.html', {'products': products})
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) emailfrom = settings.EMAIL_HOST_USER subject ='Thank you for placing order' message ='Here is your Product: ' productlist=[] #Productkeys.objects.all().update (used=False) for product in products: message1 = ' ' message2 = ' ' message1=message1+product.name+' - ' quantity = int(cart.get(str(product.id))) #print(message1) #print(product.id) #print(quantity) #print(Productkeys.objects.filter(products__id=product.id)[:quantity]) objectproductkeys=Productkeys.objects.filter(products__id=product.id ) #objectproductkeys=Productkeys.objects.filter(Q(products__id=product.id) & Q(Productkeys.objects.filter(used=False)))[:quantity] #objectproductkeys=Productkeys.objects.filter(products__id=product.id).exclude(Productkeys.objects.filter(used=True))[:quantity] quantitycount=0 for objectproductkey in objectproductkeys: if(objectproductkey.used==False): objectproductkey.used=True objectproductkey.save() quantitycount=quantitycount+1 if len(objectproductkeys)!=1: message2=message2+str(objectproductkey.productkey)+' ; ' else : message2 = message2 + str(objectproductkey.productkey) if(quantitycount==quantity): break #print(message2) #if len(products)!=1: # message2=message2+' , ' #print(message1+message2) productlist.append(message1+message2) print(productlist) recipentemail=Customer.objects.filter(id=customer)[0].email #print(Customer.objects.filter(id=customer)[0].email) finalmessage = ' ' for itemsx in productlist: finalmessage = finalmessage+itemsx+', ' recipent = [recipentemail, ] send_mail(subject,message+finalmessage, emailfrom, recipent) 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'] = {} return redirect('cart')
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)
def recommendation(request): df = pd.read_csv( 'C:/Users/ACER/Documents/Sem 8/Review 2/eshopdjango-master/store/models/pbrght.csv' ) #print(df) df1 = df.groupby('id')['prod_brought'].apply(list).reset_index() #print(df1) pid = pd.read_csv( 'C:/Users/ACER/Documents/Sem 8/Review 2/eshopdjango-master/store/models/Product_details.csv' ) #print(pid) df5 = pd.read_csv( 'C:/Users/ACER/Documents/Sem 8/Review 2/eshopdjango-master/store/models/ctgryProduct_details.csv' ) #print(df5) #########new recmndtn df6 = pd.read_csv( 'C:/Users/ACER/Documents/Sem 8/Review 2/eshopdjango-master/store/models/pbrght1.csv' ) grppbrght = df6.groupby('c_id')['prod_brought'].apply(list).reset_index() #print(grppbrght) relation = pd.read_csv( 'C:/Users/ACER/Documents/Sem 8/Review 2/eshopdjango-master/store/models/relation.csv' ) #print(relation) for i in range(0, len(relation['name'])): relation['dob'][i] = pd.to_datetime( relation['dob'][i]).strftime("%m/%d") #print(relation) grpprd = df5.groupby('c_id')['name'].apply(list).reset_index() #print(grpprd) it = [] itm = [] itm1 = [] for i in range(0, len(df1['prod_brought'])): lst = df1['prod_brought'][i] #print(lst) item = lst[0] #print(item) if (len(df1['prod_brought'][i]) == 1): continue print(i) item1 = lst[randint(1, len(df1['prod_brought'][i]) - 1)] #print(item1) #print("rule"+ str(i)+":"+item +"->"+item1) #store this part in dcitionary it.append(str(i)) itm.append(item) itm1.append(item1) rule = {'id': it, "item": itm, "item1": itm1} #print(rule) s = pd.DataFrame(rule) #print(s) def Merge(dict1, dict2): return (dict2.update(dict1)) prid = [] prdnm = [] cprid = [] cprdnm = [] for i in range(0, len(df1['prod_brought'])): lst = df1['prod_brought'][i] #print(lst) item = lst[0] #print(item) if (len(df1['prod_brought'][i]) == 1): continue print(i) item1 = lst[randint(1, len(df1['prod_brought'][i]) - 1)] #print(item1) #print("rule"+ str(i)+":"+item +"->"+item1) for i in range(0, len(pid)): if (pid['name'][i] == item1): prid.append(pid['id'][i]) prdnm.append(item1) for i in range(0, len(pid)): if (pid['name'][i] == item): cprid.append(pid['id'][i]) cprdnm.append(item) data = {'Prod_id': prid, 'Prod_name': prdnm} data1 = {'CP_id': cprid, 'CP_name': cprdnm} Merge(data, data1) df3 = pd.DataFrame(data1) #print(df3) #print(data) #print(data1) lcpnm = list(df3['CP_name']) lpnm = list(df3['Prod_name']) #i=int(input("id:")) #h=df.loc[df['id'] == i, 'prod_brought'].iloc[0] #print("product brought is",h) #if(h in lcpnm): # k=lcpnm.index(h) # print("the recommended item is",lpnm[k]) id = int(input("id:")) cbday = pd.read_csv( 'C:/Users/ACER/Documents/Sem 8/Review 2/eshopdjango-master/store/models/custbdayd.csv' ) x = len(cbday['id']) from datetime import datetime today = datetime.now().date().strftime("%m/%d/%Y") todaydm = datetime.now().date().strftime("%m/%d") for i in range(0, len(cbday['id'])): cbday['birthday'][i] = pd.to_datetime( cbday['birthday'][i]).strftime("%m/%d") #print(cbday) for i in range(0, len(cbday['id'])): if (cbday['birthday'][i] == todaydm): #cday={'user_id':cbday['user_id'][i],'birthday':cbday['birthday'][i]} #print(cday) uid = cbday['id'][i] #print(True) #print(uid) if (id == uid): for i in range(0, len(df1['id'])): if (df1['id'][i] == uid): k = random.choice(df1.loc[df1['id'] == uid, 'prod_brought'].iloc[0]) #print(k) for i in range(0, len(df3['Prod_name'])): if (df3['Prod_name'][i] == k): z = df3['Prod_id'][i] #print(df3['Prod_id'][i]) if (df3['CP_name'][i] == k): z = df3['CP_id'][i] #print(df3['CP_id'][i]) #print(z) for i in range(0, len(df5)): if (df5['id'][i] == z): cid = df5['c_id'][i] #print(cid) ctgry = [] for i in range(0, len(grppbrght)): if (grppbrght['c_id'][i] == cid): ctgry.append( list(duplicates(grppbrght['prod_brought'][i]))) x = [] x = ctgry[0] #print(x) y1 = [] for i in range(0, len(df5)): for j in range(0, len(x)): if (df5['name'][i] == x[j]): y1.append(df5['id'][i]) list_set = set(y1) y1 = (list(list_set)) print("recommend products for you is", y1) for i in range(0, len(relation['user_id'])): if (relation['user_id'][i] == id): #print(relation['dob'][i]) if (relation['dob'][i] == todaydm): ccid = relation['c_id'][i] ctgry1 = [] for i in range(0, len(grppbrght)): if (grppbrght['c_id'][i] == ccid): ctgry1.append( list( duplicates( grppbrght['prod_brought'][i]))) x1 = [] x1 = ctgry1[0] #print(x) y1 = [] for i in range(0, len(df5)): for j in range(0, len(x1)): if (df5['name'][i] == x1[j]): y1.append(df5['id'][i]) #y1.extend(y) list_set = set(y1) y1 = (list(list_set)) print("relation rcmd", y1) else: print("relation birthday is yet to come") #print(y1) products = Product.get_products_by_id(y1) print('Myoutput', products) return render(request, 'recommendation.html', {'products': products}) else: print("your birthday is yet to come") for i in range(0, len(relation['user_id'])): if (relation['user_id'][i] == id): print(relation['dob'][i]) if (relation['dob'][i] == todaydm): ccid = relation['c_id'][i] ctgry1 = [] for i in range(0, len(grppbrght)): if (grppbrght['c_id'][i] == ccid): ctgry1.append( list( duplicates( grppbrght['prod_brought'][i]))) #print("category", ctgry1) x1 = [] x1 = ctgry1[0] #print(x) y1 = [] for i in range(0, len(df5)): for j in range(0, len(x1)): if (df5['name'][i] == x1[j]): y1.append(df5['id'][i]) list_set = set(y1) y2 = (list(list_set)) print("rcmnd relation", y2) else: print("relation birthday is yet to come") #print(y1) products = Product.get_products_by_id(y2) print('Myoutput', products) return render(request, 'recommendation.html', {'products': products})