Commit 90ea14a3 authored by Dan Stephenson's avatar Dan Stephenson Committed by Tim Graham
Browse files

[1.9.x] Fixed #26558 -- Removed need for request context processor on admin login page.

Backport of 1206eea1 from master
parent fef3f50e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -181,6 +181,7 @@ answer newbie questions, and generally made Django that much better:
    Danilo Bargen
    Dan Johnson <danj.py@gmail.com>
    Dan Poirier <poirier@pobox.com>
    Dan Stephenson <http://dan.io/>
    Dan Watson <http://danwatson.net/>
    dave@thebarproject.com
    David Ascher <http://ascher.ca/>
+1 −0
Original line number Diff line number Diff line
@@ -398,6 +398,7 @@ class AdminSite(object):
        context = dict(self.each_context(request),
            title=_('Log in'),
            app_path=request.get_full_path(),
            username=request.user.get_username(),
        )
        if (REDIRECT_FIELD_NAME not in request.GET and
                REDIRECT_FIELD_NAME not in request.POST):
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@

{% if user.is_authenticated %}
<p class="errornote">
{% blocktrans with username=request.user.get_username trimmed %}
{% blocktrans trimmed %}
    You are authenticated as {{ username }}, but are not authorized to
    access this page. Would you like to login to a different account?
{% endblocktrans %}
+2 −1
Original line number Diff line number Diff line
@@ -9,4 +9,5 @@ Django 1.9.7 fixes several bugs in 1.9.6.
Bugfixes
========

* ...
* Removed the need for the ``request`` context processor on the admin login
  page to fix a regression in 1.9 (:ticket:`26558`).
+15 −2
Original line number Diff line number Diff line
@@ -1290,8 +1290,21 @@ def get_perm(Model, perm):
    return Permission.objects.get(content_type=ct, codename=perm)


@override_settings(PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'],
    ROOT_URLCONF="admin_views.urls")
@override_settings(
    PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'],
    ROOT_URLCONF='admin_views.urls',
    # Test with the admin's documented list of required context processors.
    TEMPLATES=[{
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    }],
)
class AdminViewPermissionsTest(TestCase):
    """Tests for Admin Views Permissions."""