Commit e39af5ea authored by Tim Graham's avatar Tim Graham
Browse files

Fixed #21648 -- Deprecated is_admin_site option to auth.views.password_reset().

parent 0c9f40f7
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ from importlib import import_module
import itertools
import os
import re
import warnings

from django.apps import apps
from django.conf import global_settings, settings
@@ -160,6 +161,8 @@ class PasswordResetTest(AuthViewsTestCase):
    @override_settings(ALLOWED_HOSTS=['adminsite.com'])
    def test_admin_reset(self):
        "If the reset view is marked as being for admin, the HTTP_HOST header is used for a domain override."
        with warnings.catch_warnings(record=True):
            warnings.simplefilter("always")
            response = self.client.post('/admin_password_reset/',
                {'email': 'staffmember@example.com'},
                HTTP_HOST='adminsite.com'
+9 −0
Original line number Diff line number Diff line
import warnings

from django.conf import settings
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect, QueryDict
from django.template.response import TemplateResponse
from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.http import is_safe_url, urlsafe_base64_decode
from django.utils.translation import ugettext as _
from django.utils.six.moves.urllib.parse import urlparse, urlunparse
@@ -159,6 +162,12 @@ def password_reset(request, is_admin_site=False,
                'html_email_template_name': html_email_template_name,
            }
            if is_admin_site:
                warnings.warn(
                    "The is_admin_site argument to "
                    "django.contrib.auth.views.password_reset() is deprecated "
                    "and will be removed in Django 2.0.",
                    RemovedInDjango20Warning, 3
                )
                opts = dict(opts, domain_override=request.get_host())
            form.save(**opts)
            return HttpResponseRedirect(post_reset_redirect)
+3 −0
Original line number Diff line number Diff line
@@ -54,6 +54,9 @@ about each item can often be found in the release notes of two versions prior.
* The ``remove_tags()`` and ``strip_entities()`` functions in
  ``django.utils.html`` will be removed.

* The ``is_admin_site`` argument to
  ``django.contrib.auth.views.password_reset()`` will be removed.

.. _deprecation-removed-in-1.9:

1.9
+5 −0
Original line number Diff line number Diff line
@@ -708,3 +708,8 @@ they are not actually safe.

The unused and undocumented ``django.utils.html.strip_entities()`` function has
also been deprecated.

``is_admin_site`` argument to ``django.contrib.auth.views.password_reset()``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It's a legacy option that should no longer be necessary.
+5 −0
Original line number Diff line number Diff line
@@ -984,6 +984,11 @@ patterns.

        ``html_email_template_name`` was added.

    .. deprecated:: 1.8

        The ``is_admin_site`` argument is deprecated and will be removed in
        Django 2.0.

    **Template context:**

    * ``form``: The form (see ``password_reset_form`` above) for resetting