summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Pazdziora <jpazdziora@redhat.com>2015-06-26 21:56:51 +0200
committerTim Graham <timograham@gmail.com>2015-07-03 08:53:10 -0400
commit335368410210ce0e27e0068b3a2a6cdf4baa956b (patch)
treea050a4ae72cae3e0af1e2a3d96f3b528d7989e3f
parent0e3193a3860c9ffb14ed16704b8b0c4a636d3264 (diff)
Fixed #25032 -- Removed double redirect in admin login.
-rw-r--r--django/contrib/admin/sites.py2
-rw-r--r--tests/admin_views/tests.py11
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'))