Exemplo n.º 1
0
def cartAdd(request, product_id):
    cart = requestCurCart(request)
    try:
        product = Product.objects.get(id=product_id,isActive=True)
        amount = 1
        if request.method == 'POST':
            form = CartAddForm(request.POST)
            if form.is_valid():
                amount = form.cleaned_data['amount']
        cartproduct = CartProduct.objects.get(cart=cart,product=product)
        if product.max_order_amount == -1 or (cartproduct.amount + amount) < product.max_order_amount:
            cartproduct.amount += amount
        else:
            cartproduct.amount = product.max_order_amount
            cartproduct.save()
            msg = 'Das Produkt ist auf %s Bestellung(en) limitiert.' % product.max_order_amount
            return render_to_response('error.html', {
                        'errormsg': msg,
                        'caption' : 'Hinweis',
                    },context_instance=RequestContext(request))
    except CartProduct.DoesNotExist:
        cartproduct = CartProduct()
        cartproduct.cart = cart
        cartproduct.product = product
        cartproduct.amount = amount
    except (TypeError, ValueError, KeyError):
        return HttpResponseRedirect(request.META['HTTP_REFERER'])
    cartproduct.save()
    context = RequestContext(request, {
        'product':cartproduct.product,
        })
    return render_to_response('shop/cart_added.html', context)