forked from CGM_Public/pretix_original
Widget: Return a useful error message on disabled events
This commit is contained in:
@@ -14,7 +14,7 @@ class EventMiddleware(MiddlewareMixin):
|
||||
return
|
||||
|
||||
if 'organizer' in url.kwargs or 'event' in url.kwargs:
|
||||
redirect = _detect_event(request)
|
||||
redirect = _detect_event(request, require_live=url.url_name != 'event.widget.productlist')
|
||||
if redirect:
|
||||
return redirect
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ from django.template import Context, Engine
|
||||
from django.template.loader import get_template
|
||||
from django.utils.formats import date_format
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import gettext
|
||||
from django.utils.translation import ugettext
|
||||
from django.utils.translation.trans_real import DjangoTranslation
|
||||
from django.views import View
|
||||
from django.views.decorators.cache import cache_page
|
||||
@@ -202,6 +202,13 @@ class WidgetAPIProductList(View):
|
||||
return grps, display_add_to_cart, len(items)
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
if not request.event.live:
|
||||
resp = JsonResponse({
|
||||
'error': ugettext('This ticket shop is currently disabled.')
|
||||
})
|
||||
resp['Access-Control-Allow-Origin'] = '*'
|
||||
return resp
|
||||
|
||||
self.subevent = None
|
||||
if request.event.has_subevents:
|
||||
if 'subevent' in kwargs:
|
||||
@@ -238,14 +245,14 @@ class WidgetAPIProductList(View):
|
||||
|
||||
if not ev.presale_is_running:
|
||||
if ev.presale_has_ended:
|
||||
data['error'] = gettext('The presale period for this event is over.')
|
||||
data['error'] = ugettext('The presale period for this event is over.')
|
||||
elif request.event.settings.presale_start_show_date:
|
||||
data['error'] = gettext('The presale for this event will start on %(date)s at %(time)s.') % {
|
||||
data['error'] = ugettext('The presale for this event will start on %(date)s at %(time)s.') % {
|
||||
'date': date_format(ev.presale_start.astimezone(request.event.timezone), "SHORT_DATE_FORMAT"),
|
||||
'time': date_format(ev.presale_start.astimezone(request.event.timezone), "TIME_FORMAT"),
|
||||
}
|
||||
else:
|
||||
data['error'] = gettext('The presale for this event has not yet started.')
|
||||
data['error'] = ugettext('The presale for this event has not yet started.')
|
||||
|
||||
self.voucher = None
|
||||
if 'voucher' in request.GET:
|
||||
|
||||
Reference in New Issue
Block a user