From a940fa9eb735c4646e6926ff3f12c4e35f9cda32 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 28 Jan 2020 23:38:09 +0100 Subject: [PATCH] Correct order of middlewares, thereby fix event list widget on custom domains With the incorrect order, Django used the wrong URL config file to determine whether this URL is valid and APPEND_SLASH kicked in too often. --- src/pretix/settings.py | 2 +- src/tests/multidomain/test_middlewares.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pretix/settings.py b/src/pretix/settings.py index eba8943209..a8153feab6 100644 --- a/src/pretix/settings.py +++ b/src/pretix/settings.py @@ -342,8 +342,8 @@ CORE_MODULES = { MIDDLEWARE = [ 'pretix.api.middleware.IdempotencyMiddleware', - 'django.middleware.common.CommonMiddleware', 'pretix.multidomain.middlewares.MultiDomainMiddleware', + 'django.middleware.common.CommonMiddleware', 'pretix.multidomain.middlewares.SessionMiddleware', 'pretix.multidomain.middlewares.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', diff --git a/src/tests/multidomain/test_middlewares.py b/src/tests/multidomain/test_middlewares.py index 6764ff55e1..321b28b527 100644 --- a/src/tests/multidomain/test_middlewares.py +++ b/src/tests/multidomain/test_middlewares.py @@ -40,6 +40,13 @@ def test_event_on_custom_domain(env, client): assert r.status_code == 200 +@pytest.mark.django_db +def test_path_without_trailing_slash_on_custom_domain(env, client): + KnownDomain.objects.create(domainname='foobar', organizer=env[0]) + r = client.get('/widget/product_list', HTTP_HOST='foobar') + assert r.status_code == 200 + + @pytest.mark.django_db def test_event_with_custom_domain_on_main_domain(env, client): KnownDomain.objects.create(domainname='foobar', organizer=env[0])