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

1from django.shortcuts import get_object_or_404, redirect, render 

2from django.views.decorators.http import require_POST 

3 

4from shop.models import Product 

5 

6from .cart import Cart 

7from .forms import CartAddProductForm 

8 

9 

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") 

23 

24 

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") 

31 

32 

33def cart_detail(request): 

34 cart = Cart(request) 

35 return render(request, "cart/detail.html", {"cart": cart})