def get_cart(request, slug): if request.method == 'GET': venue = get_object_or_404(Venue, slug=slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) cart_total = cart.cart_total() if request.method == 'POST': venue = get_object_or_404(Venue, slug=slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) for item in cart: id = item.object_id menu_item = get_object_or_404(MenuItem, id=id) name = str(item.product.item_name) remove_name = name+'_remove' if remove_name in request.POST: cart.remove(menu_item) else: quantity = request.POST[name] if quantity: cart.update(menu_item, quantity, item.unit_price) return HttpResponseRedirect(reverse('kiosk.views.get_cart', args=(slug,))) note_list = [] for item in cart: note_list.append(str(item.quantity)+" "+item.product.item_name) note = ", ".join(note_list) link_note = urllib.quote(note) link = 'https://venmo.com?txn=Pay&recipients='+venue.venmo_account+'&amount='+str(cart_total)+"¬e="+link_note content = dict(venue=venue, cart=cart, cart_total=cart_total, link=link, note=note) return render_to_response('kiosk/cart.html', content, context_instance=RequestContext(request))
def menu(request, slug): if request.method == 'GET': venue = get_object_or_404(Venue, slug=slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) cart_total = cart.cart_total() if request.method == 'POST': venue = get_object_or_404(Venue, slug=slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) for item in itemlist: add_name = str(item.item_name) + '_add' if add_name in request.POST: uptd = 0 for c in cart: if c.product.item_name == item.item_name: quantity = c.quantity cart.update(item, quantity + 1, item.price) uptd = 1 if uptd == 0: cart.add(item, item.price, 1) for item in cart: id = item.object_id menu_item = get_object_or_404(MenuItem, id=id) name = str(item.product.item_name) remove_name = name + '_remove' if remove_name in request.POST: cart.remove(menu_item) else: if name in request.POST: quantity = request.POST[name] if quantity: cart.update(menu_item, quantity, item.unit_price) return HttpResponseRedirect(reverse('kiosk.views.menu', args=(slug, ))) content = dict(venue=venue, itemlist=itemlist, cart=cart, cart_total=cart_total) return render_to_response('kiosk/menu.html', content, context_instance=RequestContext(request))
def get_cart(request, slug): if request.method == 'GET': venue = get_object_or_404(Venue, slug=slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) cart_total = cart.cart_total() if request.method == 'POST': venue = get_object_or_404(Venue, slug=slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) for item in cart: id = item.object_id menu_item = get_object_or_404(MenuItem, id=id) name = str(item.product.item_name) remove_name = name + '_remove' if remove_name in request.POST: cart.remove(menu_item) else: quantity = request.POST[name] if quantity: cart.update(menu_item, quantity, item.unit_price) return HttpResponseRedirect( reverse('kiosk.views.get_cart', args=(slug, ))) note_list = [] for item in cart: note_list.append(str(item.quantity) + " " + item.product.item_name) note = ", ".join(note_list) link_note = urllib.quote(note) link = 'https://venmo.com?txn=Pay&recipients=' + venue.venmo_account + '&amount=' + str( cart_total) + "¬e=" + link_note content = dict(venue=venue, cart=cart, cart_total=cart_total, link=link, note=note) return render_to_response('kiosk/cart.html', content, context_instance=RequestContext(request))
def menu(request, slug): if request.method == 'GET': venue = get_object_or_404(Venue, slug = slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) cart_total = cart.cart_total() if request.method == 'POST': venue = get_object_or_404(Venue, slug = slug) itemlist = MenuItem.objects.filter(venue=venue) cart = Cart(request) for item in itemlist: add_name = str(item.item_name)+'_add' if add_name in request.POST: uptd = 0 for c in cart: if c.product.item_name == item.item_name: quantity = c.quantity cart.update(item, quantity + 1, item.price) uptd = 1 if uptd == 0: cart.add(item, item.price, 1) for item in cart: id = item.object_id menu_item = get_object_or_404(MenuItem, id=id) name = str(item.product.item_name) remove_name = name+'_remove' if remove_name in request.POST: cart.remove(menu_item) else: if name in request.POST: quantity = request.POST[name] if quantity: cart.update(menu_item, quantity, item.unit_price) return HttpResponseRedirect(reverse('kiosk.views.menu', args=(slug,))) content = dict(venue=venue, itemlist=itemlist, cart=cart, cart_total=cart_total) return render_to_response('kiosk/menu.html', content, context_instance=RequestContext(request))