forked from CGM_Public/pretix_original
Refs #765 -- Display warning if cookies are blocked
This commit is contained in:
@@ -107,6 +107,28 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if cookie_warning %}
|
||||
<div class="alert alert-danger">
|
||||
{% if cart_namespace %}
|
||||
{% blocktrans trimmed %}
|
||||
Your browser does not accept cookies from us. However, we need to set a cookie to remember who
|
||||
you are and what is in your cart. Please try to open the ticket shop in a new tab or change your
|
||||
browser settings.
|
||||
{% endblocktrans %}
|
||||
<br>
|
||||
<a href="{% eventurl event "presale:event.index" %}" class="btn btn-default" target="_blank">
|
||||
{% trans "Open ticket shop in new tab" %}
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
{% else %}
|
||||
{% blocktrans trimmed %}
|
||||
Your browser does not accept cookies from us. However, we need to set a cookie to remember who
|
||||
you are and what is in your cart. Please change your browser settings accordingly.
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if subevent or not event.has_subevents %}
|
||||
{% if not ev.presale_is_running %}
|
||||
<div class="alert alert-info">
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user