Files
pretix_cgo/src/pretix/presale/middleware.py
2015-02-14 17:55:13 +01:00

23 lines
765 B
Python

from django.core.urlresolvers import resolve
from django.http import HttpResponseNotFound
from pretix.base.models import Event
class EventMiddleware:
def process_request(self, request):
url = resolve(request.path_info)
url_namespace = url.namespace
url_name = url.url_name
if url_namespace != 'presale':
return
if 'event.' in url_name and 'event' in url.kwargs:
try:
request.event = Event.objects.current.filter(
slug=url.kwargs['event'],
organizer__slug=url.kwargs['organizer'],
).select_related('organizer')[0]
except IndexError:
return HttpResponseNotFound() # TODO: Provide error message