From ba32298602b48efb892a45cfe8ba8947f75123aa Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 26 Sep 2016 15:12:05 +0200 Subject: [PATCH] Fixed duplicate execution of process_response --- src/pretix/presale/context.py | 8 ++------ src/pretix/presale/middleware.py | 6 +++--- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/pretix/presale/context.py b/src/pretix/presale/context.py index 308a8a31a8..76f85dcf67 100644 --- a/src/pretix/presale/context.py +++ b/src/pretix/presale/context.py @@ -1,6 +1,5 @@ from django.conf import settings from django.core.files.storage import default_storage -from django.core.urlresolvers import Resolver404, resolve from .signals import footer_link, html_head @@ -9,11 +8,7 @@ def contextprocessor(request): """ Adds data to all template contexts """ - try: - url = resolve(request.path_info) - except Resolver404: - return {} - if url.namespace != 'presale': + if request.path.startswith('/control'): return {} ctx = { @@ -30,6 +25,7 @@ def contextprocessor(request): if request.event.settings.presale_css_file: ctx['css_file'] = default_storage.url(request.event.settings.presale_css_file) ctx['event_logo'] = request.event.settings.get('logo_image', as_type=str, default='')[7:] + ctx['event'] = request.event ctx['html_head'] = "".join(_html_head) ctx['footer'] = _footer diff --git a/src/pretix/presale/middleware.py b/src/pretix/presale/middleware.py index 8494ecddb6..2f15f1548d 100644 --- a/src/pretix/presale/middleware.py +++ b/src/pretix/presale/middleware.py @@ -8,8 +8,7 @@ from .utils import _detect_event class EventMiddleware: def process_request(self, request): url = resolve(request.path_info) - url_namespace = url.namespace - if url_namespace != 'presale': + if url.namespace != 'presale': return if 'organizer' in url.kwargs or 'event' in url.kwargs: @@ -23,7 +22,8 @@ class EventMiddleware: request.session['_'] = '_' def process_response(self, request, response): - if hasattr(request, 'event'): + url = resolve(request.path_info) + if url.namespace == 'presale' and hasattr(request, 'event'): for receiver, r in process_response.send(request.event, request=request, response=response): response = r return response