Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #21648 -- Deprecated is_admin_site option to auth.views.passwor…

…d_reset().
  • Loading branch information...
commit e39af5ea592bbe4e7a643e67f0c379adc10ed392 1 parent 0c9f40f
@timgraham timgraham authored
View
11 django/contrib/auth/tests/test_views.py
@@ -2,6 +2,7 @@
import itertools
import os
import re
+import warnings
from django.apps import apps
from django.conf import global_settings, settings
@@ -160,10 +161,12 @@ def test_email_found_custom_from(self):
@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."
- response = self.client.post('/admin_password_reset/',
- {'email': 'staffmember@example.com'},
- HTTP_HOST='adminsite.com'
- )
+ with warnings.catch_warnings(record=True):
+ warnings.simplefilter("always")
+ response = self.client.post('/admin_password_reset/',
+ {'email': 'staffmember@example.com'},
+ HTTP_HOST='adminsite.com'
+ )
self.assertEqual(response.status_code, 302)
self.assertEqual(len(mail.outbox), 1)
self.assertTrue("http://adminsite.com" in mail.outbox[0].body)
View
9 django/contrib/auth/views.py
@@ -1,7 +1,10 @@
+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)
View
3  docs/internals/deprecation.txt
@@ -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
View
5 docs/releases/1.8.txt
@@ -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.
View
5 docs/topics/auth/default.txt
@@ -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
Please sign in to comment.
Something went wrong with that request. Please try again.