diff --git a/src/pretix/presale/middleware.py b/src/pretix/presale/middleware.py index 9c28484c9f..4cbf52a839 100644 --- a/src/pretix/presale/middleware.py +++ b/src/pretix/presale/middleware.py @@ -63,7 +63,7 @@ class EventMiddleware: if url.namespace != 'presale': return self.get_response(request) - if 'organizer' in url.kwargs or 'event' in url.kwargs or getattr(request, 'event_domain', False): + if 'organizer' in url.kwargs or 'event' in url.kwargs or getattr(request, 'event_domain', False) or getattr(request, 'organizer_domain', False): redirect = _detect_event(request, require_live=url.url_name not in self.NO_REQUIRE_LIVE_URLS) if redirect: return redirect diff --git a/src/pretix/presale/utils.py b/src/pretix/presale/utils.py index ffbdef4827..f03ed02b37 100644 --- a/src/pretix/presale/utils.py +++ b/src/pretix/presale/utils.py @@ -171,21 +171,22 @@ def _detect_event(request, require_live=True, require_plugin=None): path = "/" + request.get_full_path().split("/", 2)[-1] return redirect(path) - request.event = request.organizer.events.using(db).get( - slug=url.kwargs['event'], - organizer=request.organizer, - ) request.organizer = request.organizer + if 'event' in url.kwargs: + request.event = request.organizer.events.using(db).get( + slug=url.kwargs['event'], + organizer=request.organizer, + ) - # If this event has a custom domain, send the user there - domain = get_event_domain(request.event) - if domain: - if request.port and request.port not in (80, 443): - domain = '%s:%d' % (domain, request.port) - path = request.get_full_path().split("/", 2)[-1] - r = redirect(urljoin('%s://%s' % (request.scheme, domain), path)) - r['Access-Control-Allow-Origin'] = '*' - return r + # If this event has a custom domain, send the user there + domain = get_event_domain(request.event) + if domain: + if request.port and request.port not in (80, 443): + domain = '%s:%d' % (domain, request.port) + path = request.get_full_path().split("/", 2)[-1] + r = redirect(urljoin('%s://%s' % (request.scheme, domain), path)) + r['Access-Control-Allow-Origin'] = '*' + return r else: # We are on our main domain if 'event' in url.kwargs and 'organizer' in url.kwargs: