forked from CGM_Public/pretix_original
23 lines
765 B
Python
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
|