mirror of
https://github.com/django/django.git
synced 2024-12-23 01:25:58 +00:00
Removed django.contrib.auth.views.password_reset_confirm_uidb36() view to finish its accelerated deprecation schedule.
This commit is contained in:
parent
b5f709e6f4
commit
d51b7794bf
@ -13,7 +13,7 @@ from django.core import mail
|
|||||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||||
from django.http import QueryDict, HttpRequest
|
from django.http import QueryDict, HttpRequest
|
||||||
from django.utils.encoding import force_text
|
from django.utils.encoding import force_text
|
||||||
from django.utils.http import int_to_base36, urlsafe_base64_decode, urlquote
|
from django.utils.http import urlquote
|
||||||
from django.utils._os import upath
|
from django.utils._os import upath
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.test.utils import override_settings, patch_logger
|
from django.test.utils import override_settings, patch_logger
|
||||||
@ -193,16 +193,6 @@ class PasswordResetTest(AuthViewsTestCase):
|
|||||||
# redirect to a 'complete' page:
|
# redirect to a 'complete' page:
|
||||||
self.assertContains(response, "Please enter your new password")
|
self.assertContains(response, "Please enter your new password")
|
||||||
|
|
||||||
def test_confirm_valid_base36(self):
|
|
||||||
# Remove in Django 1.7
|
|
||||||
url, path = self._test_confirm_start()
|
|
||||||
path_parts = path.strip("/").split("/")
|
|
||||||
# construct an old style (base36) URL by converting the base64 ID
|
|
||||||
path_parts[1] = int_to_base36(int(urlsafe_base64_decode(path_parts[1])))
|
|
||||||
response = self.client.get("/%s/%s-%s/" % tuple(path_parts))
|
|
||||||
# redirect to a 'complete' page:
|
|
||||||
self.assertContains(response, "Please enter your new password")
|
|
||||||
|
|
||||||
def test_confirm_invalid(self):
|
def test_confirm_invalid(self):
|
||||||
url, path = self._test_confirm_start()
|
url, path = self._test_confirm_start()
|
||||||
# Let's munge the token in the path, but keep the same length,
|
# Let's munge the token in the path, but keep the same length,
|
||||||
@ -217,21 +207,11 @@ class PasswordResetTest(AuthViewsTestCase):
|
|||||||
response = self.client.get('/reset/123456/1-1/')
|
response = self.client.get('/reset/123456/1-1/')
|
||||||
self.assertContains(response, "The password reset link was invalid")
|
self.assertContains(response, "The password reset link was invalid")
|
||||||
|
|
||||||
def test_confirm_invalid_user_base36(self):
|
|
||||||
# Remove in Django 1.7
|
|
||||||
response = self.client.get('/reset/123456-1-1/')
|
|
||||||
self.assertContains(response, "The password reset link was invalid")
|
|
||||||
|
|
||||||
def test_confirm_overflow_user(self):
|
def test_confirm_overflow_user(self):
|
||||||
# Ensure that we get a 200 response for a base36 user id that overflows int
|
# Ensure that we get a 200 response for a base36 user id that overflows int
|
||||||
response = self.client.get('/reset/zzzzzzzzzzzzz/1-1/')
|
response = self.client.get('/reset/zzzzzzzzzzzzz/1-1/')
|
||||||
self.assertContains(response, "The password reset link was invalid")
|
self.assertContains(response, "The password reset link was invalid")
|
||||||
|
|
||||||
def test_confirm_overflow_user_base36(self):
|
|
||||||
# Remove in Django 1.7
|
|
||||||
response = self.client.get('/reset/zzzzzzzzzzzzz-1-1/')
|
|
||||||
self.assertContains(response, "The password reset link was invalid")
|
|
||||||
|
|
||||||
def test_confirm_invalid_post(self):
|
def test_confirm_invalid_post(self):
|
||||||
# Same as test_confirm_invalid, but trying
|
# Same as test_confirm_invalid, but trying
|
||||||
# to do a POST instead.
|
# to do a POST instead.
|
||||||
|
@ -12,9 +12,6 @@ urlpatterns = patterns('',
|
|||||||
url(r'^password_change/done/$', 'django.contrib.auth.views.password_change_done', name='password_change_done'),
|
url(r'^password_change/done/$', 'django.contrib.auth.views.password_change_done', name='password_change_done'),
|
||||||
url(r'^password_reset/$', 'django.contrib.auth.views.password_reset', name='password_reset'),
|
url(r'^password_reset/$', 'django.contrib.auth.views.password_reset', name='password_reset'),
|
||||||
url(r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done', name='password_reset_done'),
|
url(r'^password_reset/done/$', 'django.contrib.auth.views.password_reset_done', name='password_reset_done'),
|
||||||
# Support old style base36 password reset links; remove in Django 1.7
|
|
||||||
url(r'^reset/(?P<uidb36>[0-9A-Za-z]{1,13})-(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
|
|
||||||
'django.contrib.auth.views.password_reset_confirm_uidb36'),
|
|
||||||
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
|
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
|
||||||
'django.contrib.auth.views.password_reset_confirm',
|
'django.contrib.auth.views.password_reset_confirm',
|
||||||
name='password_reset_confirm'),
|
name='password_reset_confirm'),
|
||||||
|
@ -228,15 +228,6 @@ def password_reset_confirm(request, uidb64=None, token=None,
|
|||||||
return TemplateResponse(request, template_name, context,
|
return TemplateResponse(request, template_name, context,
|
||||||
current_app=current_app)
|
current_app=current_app)
|
||||||
|
|
||||||
def password_reset_confirm_uidb36(request, uidb36=None, **kwargs):
|
|
||||||
# Support old password reset URLs that used base36 encoded user IDs.
|
|
||||||
# Remove in Django 1.7
|
|
||||||
try:
|
|
||||||
uidb64 = force_text(urlsafe_base64_encode(force_bytes(base36_to_int(uidb36))))
|
|
||||||
except ValueError:
|
|
||||||
uidb64 = '1' # dummy invalid ID (incorrect padding for base64)
|
|
||||||
return password_reset_confirm(request, uidb64=uidb64, **kwargs)
|
|
||||||
|
|
||||||
def password_reset_complete(request,
|
def password_reset_complete(request,
|
||||||
template_name='registration/password_reset_complete.html',
|
template_name='registration/password_reset_complete.html',
|
||||||
current_app=None, extra_context=None):
|
current_app=None, extra_context=None):
|
||||||
|
Loading…
Reference in New Issue
Block a user