19 lines
522 B
Python
19 lines
522 B
Python
from shop.models import Cart
|
|
from web.settings import ANONYMOUS_CART_ID_COOKIE_NAME
|
|
|
|
|
|
def get_or_create_cart(request) -> [Cart, bool]:
|
|
created = False
|
|
if not request.user.is_authenticated:
|
|
uid = request.COOKIES.get(ANONYMOUS_CART_ID_COOKIE_NAME)
|
|
|
|
if uid:
|
|
cart = Cart.objects.get(uuid=uid)
|
|
else:
|
|
cart = Cart.objects.create(user=None)
|
|
created = True
|
|
else:
|
|
cart, created = Cart.objects.get_or_create(user=request.user)
|
|
|
|
return cart, created
|