From 65cf82bd08631a7aa8d9dd007b2527476fa3304f Mon Sep 17 00:00:00 2001 From: Rainer Koirikivi Date: Wed, 21 Aug 2013 19:22:22 +0300 Subject: Fixed #20934 -- Avoided NoReverseMatch in ModelAdmin.changelist_view The view tried to display links to a ModelAdmin's change_view, which resulted in NoReverseMatches if get_urls was overridden to remove the corresponding url. --- tests/admin_views/tests.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/admin_views') diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 8f83324a37..66a5735b6c 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -630,6 +630,19 @@ class AdminViewBasicTest(AdminViewBasicTestCase): with self.assertRaises(AttributeError): self.client.get('/test_admin/%s/admin_views/simple/' % self.urlbit) + def test_changelist_with_no_change_url(self): + """ + ModelAdmin.changelist_view shouldn't result in a NoReverseMatch if url + for change_view is removed from get_urls + + Regression test for #20934 + """ + UnchangeableObject.objects.create() + response = self.client.get('/test_admin/admin/admin_views/unchangeableobject/') + self.assertEqual(response.status_code, 200) + # Check the format of the shown object -- shouldn't contain a change link + self.assertContains(response, 'UnchangeableObject object', html=True) + @override_settings(PASSWORD_HASHERS=('django.contrib.auth.hashers.SHA1PasswordHasher',)) class AdminViewFormUrlTest(TestCase): -- cgit v1.3