feat: cart

This commit is contained in:
2024-11-27 17:07:03 +01:00
parent f1b25b1fdf
commit fa1d904db5
15 changed files with 448 additions and 109 deletions
+13
View File
@@ -1,6 +1,9 @@
from django.conf import settings
from django.core.paginator import Paginator
from shop.models import Cart
from web.settings import ANONYMOUS_CART_ID_COOKIE_NAME
class FilteredQuerysetMixin:
queryset = None
@@ -25,3 +28,13 @@ class PaginatedQuerysetMixin:
page = self.request.GET.get("page", 1)
qs = paginator.get_page(page)
return qs
class CartMixin:
def get_cart(self):
if not self.request.user.is_authenticated:
uid = self.request.COOKIES.get(ANONYMOUS_CART_ID_COOKIE_NAME)
cart = Cart.objects.get(uuid=uid)
else:
cart = Cart.objects.filter(user=self.request.user).first()
return cart