summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2015-03-27 20:07:35 +0100
committerClaude Paroz <claude@2xlibre.net>2015-03-28 09:24:01 +0100
commitc2bfd76ec3678cc28fb6fce6be0ae217b46bcd9e (patch)
treea8617618d25d164cb8b37a29b28b72ad67ba59da
parent1f2abf784a9fe550959de242d91963b2ad6f7e9c (diff)
Refs #15779 -- Fixed UserChangeForm regression introduced by 1791a7e75
Thanks Tim Graham for reporting the regression.
-rw-r--r--django/contrib/auth/forms.py2
-rw-r--r--tests/auth_tests/test_views.py19
2 files changed, 18 insertions, 3 deletions
diff --git a/django/contrib/auth/forms.py b/django/contrib/auth/forms.py
index 928c4c7988..84fc757e26 100644
--- a/django/contrib/auth/forms.py
+++ b/django/contrib/auth/forms.py
@@ -98,7 +98,7 @@ class UserChangeForm(forms.ModelForm):
password = ReadOnlyPasswordHashField(label=_("Password"),
help_text=_("Raw passwords are not stored, so there is no way to see "
"this user's password, but you can change the password "
- "using <a href=\"password/\">this form</a>."))
+ "using <a href=\"../password/\">this form</a>."))
class Meta:
model = User
diff --git a/tests/auth_tests/test_views.py b/tests/auth_tests/test_views.py
index a6571a7cca..5ebe9f2938 100644
--- a/tests/auth_tests/test_views.py
+++ b/tests/auth_tests/test_views.py
@@ -3,6 +3,7 @@ from __future__ import unicode_literals
import datetime
import itertools
+import os
import re
from importlib import import_module
@@ -943,14 +944,28 @@ class ChangelistTests(AuthViewsTestCase):
self.assertEqual(row.change_message, 'No fields changed.')
def test_user_change_password(self):
+ user_change_url = reverse('auth_test_admin:auth_user_change', args=(self.admin.pk,))
+ password_change_url = reverse('auth_test_admin:auth_user_password_change', args=(self.admin.pk,))
+
+ response = self.client.get(user_change_url)
+ # Test the link inside password field help_text.
+ rel_link = re.search(
+ r'you can change the password using <a href="([^"]*)">this form</a>',
+ force_text(response.content)
+ ).groups()[0]
+ self.assertEqual(
+ os.path.normpath(user_change_url + rel_link),
+ os.path.normpath(password_change_url)
+ )
+
response = self.client.post(
- reverse('auth_test_admin:auth_user_password_change', args=(self.admin.pk,)),
+ password_change_url,
{
'password1': 'password1',
'password2': 'password1',
}
)
- self.assertRedirects(response, reverse('auth_test_admin:auth_user_change', args=(self.admin.pk,)))
+ self.assertRedirects(response, user_change_url)
row = LogEntry.objects.latest('id')
self.assertEqual(row.change_message, 'Changed password.')
self.logout()