Commit d51b7794 authored by Ramiro Morales's avatar Ramiro Morales
Browse files

Removed django.contrib.auth.views.password_reset_confirm_uidb36() view to...

Removed django.contrib.auth.views.password_reset_confirm_uidb36() view to finish its accelerated deprecation schedule.
parent b5f709e6
Loading
Loading
Loading
Loading
+1 −21
Original line number Diff line number Diff line
@@ -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.
+0 −3
Original line number Diff line number Diff line
@@ -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'),
+0 −9
Original line number Diff line number Diff line
@@ -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):