Refs #765 -- Display warning if cookies are blocked

This commit is contained in:
Raphael Michel
2018-02-01 16:24:35 +01:00
parent e469b2e6ad
commit 989282ffbe
4 changed files with 35 additions and 3 deletions

View File

@@ -37,12 +37,17 @@ class CartActionMixin:
def get_next_url(self):
if "next" in self.request.GET and is_safe_url(self.request.GET.get("next")):
return self.request.GET.get('next')
u = self.request.GET.get('next')
else:
kwargs = {}
if 'cart_namespace' in self.kwargs:
kwargs['cart_namespace'] = self.kwargs['cart_namespace']
return eventreverse(self.request.event, 'presale:event.index', kwargs=kwargs)
u = eventreverse(self.request.event, 'presale:event.index', kwargs=kwargs)
if '?' in u:
u += '&require_cookie=true'
else:
u += '?require_cookie=false'
return u
def get_success_url(self, value=None):
return self.get_next_url()

View File

@@ -23,7 +23,7 @@ class CheckoutView(View):
kwargs = {}
if 'cart_namespace' in self.kwargs:
kwargs['cart_namespace'] = self.kwargs['cart_namespace']
return eventreverse(self.request.event, 'presale:event.index', kwargs=kwargs)
return eventreverse(self.request.event, 'presale:event.index', kwargs=kwargs) + '?require_cookie=false'
def dispatch(self, request, *args, **kwargs):
self.request = request

View File

@@ -274,6 +274,11 @@ class EventIndex(EventViewMixin, CartMixin, TemplateView):
)
)
context['cookie_warning'] = (
'require_cookie' in self.request.GET and
settings.SESSION_COOKIE_NAME not in self.request.COOKIES
)
return context