Isolate cart sessions

This commit is contained in:
Raphael Michel
2017-09-10 20:34:21 +02:00
parent f15a72e59d
commit 26f258c6cf
10 changed files with 126 additions and 50 deletions

View File

@@ -0,0 +1,20 @@
from django.utils.crypto import get_random_string
def add_cart_session(client, event, data):
new_id = get_random_string(length=32)
session = client.session
session['current_cart_event_{}'.format(event.pk)] = new_id
if 'carts' not in session:
session['carts'] = {}
session['carts'][new_id] = data
session.save()
return new_id
def get_cart_session_key(client, event):
cart_id = client.session.get('current_cart_event_{}'.format(event.pk))
if cart_id:
return cart_id
else:
return add_cart_session(client, event, {})