mirror of
https://github.com/pretix/pretix.git
synced 2026-05-06 15:24:02 +00:00
Customer login: Fix issue with organizer-level domains
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user