From 26f5016bb513a8e6f663ffa020f242c9001fcdf6 Mon Sep 17 00:00:00 2001 From: Chris Rogers Date: Sun, 24 Jan 2016 19:05:20 +0000 Subject: [PATCH] Use site_name for display for sites if available --- CHANGELOG.txt | 1 + docs/releases/1.5.rst | 1 + wagtail/wagtailcore/models.py | 16 ++++++++++----- wagtail/wagtailcore/tests/test_sites.py | 26 +++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 1ff112e40..7e63bdf7d 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -15,6 +15,7 @@ Changelog * Eliminated the deprecated `register.assignment_tag` on Django 1.9 (Josh Schneier) * Increased size of Save button on site settings (Liam Brenner) * Optimised Site.find_for_request to only perform one database query (Matthew Downey) + * Notification messages on creating / editing sites now include the site name if specified (Chris Rogers) * Fix: The currently selected day is now highlighted only in the correct month in date pickers (Jonas Lergell) * Fix: Fixed crash when an image without a source file was resized with the "dynamic serve view" * Fix: Registered settings admin menu items now show active correctly (Matthew Downey) diff --git a/docs/releases/1.5.rst b/docs/releases/1.5.rst index 4e9d9c01d..b7e861aff 100644 --- a/docs/releases/1.5.rst +++ b/docs/releases/1.5.rst @@ -35,6 +35,7 @@ Minor features * Eliminated the deprecated ``register.assignment_tag`` on Django 1.9 (Josh Schneier) * Increased size of Save button on site settings (Liam Brenner) * Optimised Site.find_for_request to only perform one database query (Matthew Downey) + * Notification messages on creating / editing sites now include the site name if specified (Chris Rogers) Bug fixes ~~~~~~~~~ diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py index d73425642..119f0cb5b 100644 --- a/wagtail/wagtailcore/models.py +++ b/wagtail/wagtailcore/models.py @@ -91,11 +91,17 @@ class Site(models.Model): return (self.hostname, self.port) def __str__(self): - return ( - self.hostname + - ("" if self.port == 80 else (":%d" % self.port)) + - (" [default]" if self.is_default_site else "") - ) + if self.site_name: + return( + self.site_name + + (" [default]" if self.is_default_site else "") + ) + else: + return( + self.hostname + + ("" if self.port == 80 else (":%d" % self.port)) + + (" [default]" if self.is_default_site else "") + ) @staticmethod def find_for_request(request): diff --git a/wagtail/wagtailcore/tests/test_sites.py b/wagtail/wagtailcore/tests/test_sites.py index 1625281aa..c6ec8176b 100644 --- a/wagtail/wagtailcore/tests/test_sites.py +++ b/wagtail/wagtailcore/tests/test_sites.py @@ -32,6 +32,32 @@ class TestSiteUrl(TestCase): self.assertEqual(site.root_url, 'http://example.com:8000') +class TestSiteNameDisplay(TestCase): + def test_site_name_not_default(self): + site = Site(hostname='example.com', port=80, site_name='example dot com', is_default_site=False) + self.assertEqual(site.__str__(), 'example dot com') + + def test_site_name_default(self): + site = Site(hostname='example.com', port=80, site_name='example dot com', is_default_site=True) + self.assertEqual(site.__str__(), 'example dot com [default]') + + def test_no_site_name_not_default_port_80(self): + site = Site(hostname='example.com', port=80, is_default_site=False) + self.assertEqual(site.__str__(), 'example.com') + + def test_no_site_name_default_port_80(self): + site = Site(hostname='example.com', port=80, is_default_site=True) + self.assertEqual(site.__str__(), 'example.com [default]') + + def test_no_site_name_not_default_port_n(self): + site = Site(hostname='example.com', port=8080, is_default_site=False) + self.assertEqual(site.__str__(), 'example.com:8080') + + def test_no_site_name_default_port_n(self): + site = Site(hostname='example.com', port=8080, is_default_site=True) + self.assertEqual(site.__str__(), 'example.com:8080 [default]') + + class TestFindSiteForRequest(TestCase): def setUp(self): self.default_site = Site.objects.get()