Coverage for cart/views.py: 0.00%
23 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 20:31 -0700
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-02 20:31 -0700
1from django.shortcuts import get_object_or_404, redirect, render
2from django.views.decorators.http import require_POST
4from shop.models import Product
6from .cart import Cart
7from .forms import CartAddProductForm
10@require_POST
11def cart_add(request, product_id):
12 cart = Cart(request)
13 product = get_object_or_404(Product, id=product_id)
14 form = CartAddProductForm(request.POST)
15 if form.is_valid():
16 cd = form.cleaned_data
17 cart.add(
18 product=product,
19 quantity=cd["quantity"],
20 override_quantity=cd["override"],
21 )
22 return redirect("cart:cart_detail")
25@require_POST
26def cart_remove(request, product_id):
27 cart = Cart(request)
28 product = get_object_or_404(Product, id=product_id)
29 cart.remove(product)
30 return redirect("cart:cart_detail")
33def cart_detail(request):
34 cart = Cart(request)
35 return render(request, "cart/detail.html", {"cart": cart})