diff options
| author | Jan Pazdziora <jpazdziora@redhat.com> | 2015-06-26 21:56:51 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-07-03 08:53:10 -0400 |
| commit | 335368410210ce0e27e0068b3a2a6cdf4baa956b (patch) | |
| tree | a050a4ae72cae3e0af1e2a3d96f3b528d7989e3f | |
| parent | 0e3193a3860c9ffb14ed16704b8b0c4a636d3264 (diff) | |
Fixed #25032 -- Removed double redirect in admin login.
| -rw-r--r-- | django/contrib/admin/sites.py | 2 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py index 37cb5f2f7e..cccba52023 100644 --- a/django/contrib/admin/sites.py +++ b/django/contrib/admin/sites.py @@ -394,7 +394,7 @@ class AdminSite(object): ) if (REDIRECT_FIELD_NAME not in request.GET and REDIRECT_FIELD_NAME not in request.POST): - context[REDIRECT_FIELD_NAME] = request.get_full_path() + context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name) context.update(extra_context or {}) defaults = { diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 43dd92e7f9..fedae380b4 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -1421,7 +1421,7 @@ class AdminViewPermissionsTest(TestCase): login_url = '%s?next=%s' % (reverse('admin:login'), reverse('admin:index')) # Super User response = self.client.get(self.index_url) - self.assertEqual(response.status_code, 302) + self.assertRedirects(response, login_url) login = self.client.post(login_url, self.super_login) self.assertRedirects(login, self.index_url) self.assertFalse(login.context) @@ -1480,6 +1480,15 @@ class AdminViewPermissionsTest(TestCase): form = login.context[0].get('form') self.assertEqual(form.errors['username'][0], 'This field is required.') + def test_login_redirect_for_direct_get(self): + """ + Login redirect should be to the admin index page when going directly to + /admin/login/. + """ + response = self.client.get(reverse('admin:login')) + self.assertEqual(response.status_code, 200) + self.assertEqual(response.context[REDIRECT_FIELD_NAME], reverse('admin:index')) + def test_login_has_permission(self): # Regular User should not be able to login. response = self.client.get(reverse('has_permission_admin:index')) |
