def add_to_basket_monthly(request, productID, months): uproduct = get_object_or_404(UniqueProduct, id=productID) basket = _get_basket(request) try: item = get_object_or_404(BasketItem, basket=basket, item=uproduct, monthly_order=True, months=months) item.quantity += 1 except: item = BasketItem.objects.create(item=uproduct, quantity=1, basket=basket, monthly_order=True, months=months) item.save() if request.is_ajax(): basket = _get_basket_value(request) basket_quantity = '%.2f' % float(basket['basket_quantity']) monthly_price = '%.2f' % float(basket['monthly_price']) basket_value = '%.2f' % float(basket['total_price']) from shop.templatetags.convert_weights import convert_weights weight = convert_weights(request, item.item.weight) message = _( '<div class="message"><div class="text"><h3>%(months)s months of %(item)s added to your Monthly TeaBox! <a href="%(monthly_url)s">Add more</a> or <a href="%(url)s">Checkout now »</a></h3></div></div>' ) % { 'months': months, 'item': item.item.parent_product, 'url': reverse('basket'), 'monthly_url': reverse('monthly_tea_box'), } data = { 'basket_quantity': basket_quantity, 'monthly_price': monthly_price, 'message': message, 'basket_value': basket_value, } json = simplejson.dumps(data, cls=DjangoJSONEncoder) return HttpResponse(json) url = request.META.get('HTTP_REFERER', '/') return HttpResponseRedirect(url)
def add_to_basket_monthly(request, productID, months): uproduct = get_object_or_404(UniqueProduct, id=productID) basket = _get_basket(request) try: item = get_object_or_404(BasketItem, basket=basket, item=uproduct, monthly_order=True, months=months) item.quantity += 1 except: item = BasketItem.objects.create(item=uproduct, quantity=1, basket=basket, monthly_order=True, months=months) item.save() if request.is_ajax(): basket = _get_basket_value(request) basket_quantity = "%.2f" % float(basket["basket_quantity"]) monthly_price = "%.2f" % float(basket["monthly_price"]) basket_value = "%.2f" % float(basket["total_price"]) from shop.templatetags.convert_weights import convert_weights weight = convert_weights(request, item.item.weight) message = _( '<div class="message"><div class="text"><h3>%(months)s months of %(item)s added to your Monthly TeaBox! <a href="%(monthly_url)s">Add more</a> or <a href="%(url)s">Checkout now »</a></h3></div></div>' ) % { "months": months, "item": item.item.parent_product, "url": reverse("basket"), "monthly_url": reverse("monthly_tea_box"), } data = { "basket_quantity": basket_quantity, "monthly_price": monthly_price, "message": message, "basket_value": basket_value, } json = simplejson.dumps(data, cls=DjangoJSONEncoder) return HttpResponse(json) url = request.META.get("HTTP_REFERER", "/") return HttpResponseRedirect(url)
def tea_view(request, slug): try: added = request.session['ADDED'] except: added = None if added: try: thing = get_object_or_404(BasketItem, id=request.session['ADDED']) from shop.templatetags.convert_weights import convert_weights weight = convert_weights(request, thing.item.weight) message = _("1 x %(weight)s%(unit)s added to your basket!") % { 'weight': weight, 'unit': RequestContext(request)['weight_unit'] } request.session['ADDED'] = None except: pass tea = get_object_or_404(Product, slug=slug) try: review = Review.objects.filter(is_published=True, product=tea, lang=get_language()).order_by('?')[0] except: pass # IF IT'S A MONTHLY ITEM, LET'S REDIRECT HERE: if tea.slug == _('monthly-tea-box'): return monthly_tea_box(request) recommended = _get_products(request, random=True, exclude=tea.id)[:4] prices = UniqueProduct.objects.filter( is_active=True, parent_product=tea, currency=_get_currency(request)).order_by('weight') # IN CASE OF DEALS ON THE PAGE multiple_form = AddMultipleItemsToBasket() return _render(request, "shop/tea_view.html", locals())
def tea_view(request, slug): try: added = request.session["ADDED"] except: added = None if added: try: thing = get_object_or_404(BasketItem, id=request.session["ADDED"]) from shop.templatetags.convert_weights import convert_weights weight = convert_weights(request, thing.item.weight) message = _("1 x %(weight)s%(unit)s added to your basket!") % { "weight": weight, "unit": RequestContext(request)["weight_unit"], } request.session["ADDED"] = None except: pass tea = get_object_or_404(Product, slug=slug) try: review = Review.objects.filter(is_published=True, product=tea, lang=get_language()).order_by("?")[0] except: pass # IF IT'S A MONTHLY ITEM, LET'S REDIRECT HERE: if tea.slug == _("monthly-tea-box"): return monthly_tea_box(request) recommended = _get_products(request, random=True, exclude=tea.id)[:4] prices = UniqueProduct.objects.filter(is_active=True, parent_product=tea, currency=_get_currency(request)).order_by( "weight" ) # IN CASE OF DEALS ON THE PAGE multiple_form = AddMultipleItemsToBasket() return _render(request, "shop/tea_view.html", locals())