Merge pull request #1316 from ramiro/int_pk_pwd_reset
This commit is contained in:
commit
5e3a6532aa
|
@ -13,7 +13,7 @@ from django.core import mail
|
|||
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||
from django.http import QueryDict, HttpRequest
|
||||
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.test import TestCase
|
||||
from django.test.utils import override_settings, patch_logger
|
||||
|
@ -193,16 +193,6 @@ class PasswordResetTest(AuthViewsTestCase):
|
|||
# redirect to a 'complete' page:
|
||||
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):
|
||||
url, path = self._test_confirm_start()
|
||||
# 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/')
|
||||
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):
|
||||
# Ensure that we get a 200 response for a base36 user id that overflows int
|
||||
response = self.client.get('/reset/zzzzzzzzzzzzz/1-1/')
|
||||
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):
|
||||
# Same as test_confirm_invalid, but trying
|
||||
# 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_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'),
|
||||
# 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})/$',
|
||||
'django.contrib.auth.views.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,
|
||||
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,
|
||||
template_name='registration/password_reset_complete.html',
|
||||
current_app=None, extra_context=None):
|
||||
|
|
Loading…
Reference in New Issue