From 27dc383d17ac984ea8018b061800b24356d4ec03 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Wed, 31 Aug 2022 09:12:16 +0100 Subject: [PATCH] Use relative URL for singletons It's rare they'll be needed externally, and this way there's less to do --- website/contrib/singleton_page/tests.py | 2 +- website/contrib/singleton_page/utils.py | 2 +- website/well_known/views.py | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/website/contrib/singleton_page/tests.py b/website/contrib/singleton_page/tests.py index 78af6e3..e5c1931 100644 --- a/website/contrib/singleton_page/tests.py +++ b/website/contrib/singleton_page/tests.py @@ -9,7 +9,7 @@ from .utils import SingletonPageCache class SingletonURLTestCase(TestCase): def test_gets_url(self) -> None: with self.assertNumQueries(2): - self.assertEqual(SingletonPageCache.get_url(HomePage), "http://localhost/") + self.assertEqual(SingletonPageCache.get_url(HomePage), "/") def test_missing_page(self) -> None: with self.assertNumQueries(1): diff --git a/website/contrib/singleton_page/utils.py b/website/contrib/singleton_page/utils.py index 78bf729..18e8479 100644 --- a/website/contrib/singleton_page/utils.py +++ b/website/contrib/singleton_page/utils.py @@ -25,7 +25,7 @@ class SingletonPageCache: if page is None: return None - url = page.get_full_url(request) + url = page.get_url(request) cache.set(cache_key, url, 86400) diff --git a/website/well_known/views.py b/website/well_known/views.py index 0ecb91a..6fc08b0 100644 --- a/website/well_known/views.py +++ b/website/well_known/views.py @@ -24,7 +24,12 @@ class SecurityView(TemplateView): def get_context_data(self, **kwargs: dict) -> dict: context = super().get_context_data(**kwargs) context["security_txt"] = self.request.build_absolute_uri(self.request.path) - context["contact_page_url"] = SingletonPageCache.get_url(ContactPage) + contact_page_path = SingletonPageCache.get_url(ContactPage) + context["contact_page_url"] = ( + self.request.build_absolute_uri(contact_page_path) + if contact_page_path + else None + ) context["expires"] = ( (timezone.now() + self.expires).replace(microsecond=0).isoformat() )