def show_product(request, article_slug): a = get_object_or_404(Article, slug=article_slug) if request.method == 'POST': data= request.POST.copy() form = CartForm(request, data) if form.is_valid(): #add to cart and redirect to cart page Cart.add_to_cart(request) # if test cookie worked, get rid of it if request.session.test_cookie_worked(): request.session.delete_test_cookie() url = urlresolvers.reverse('show_cart') return HttpResponseRedirect(url) else: form = CartForm(request=request, label_suffix=':') request.session.set_test_cookie() return render_to_response("variation/detail.html", locals(), context_instance=RequestContext(request))
def add_to_cart(): id = request.form['id'] if request.form['id'] else None qty = request.form['qty'] if request.form['qty'] else None if not id or not qty or not is_number(id) or not is_number(qty): return "NG" product = Product.query.filter_by(id=id).first() if not product: return "NG" existing = Cart.query.filter_by(user_id=current_user.id, product_id=id).first() if existing: existing.quantity += int(qty) cart = existing else: cart = Cart() cart.add_to_cart(current_user.id, id, qty) db.session.add(cart) db.session.commit() return "OK"