diff options
| author | Jon Lønne <jon@funkbit.no> | 2013-12-18 20:04:53 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-12-26 07:35:50 -0500 |
| commit | 398642fd9b6e9b4d83baed7b9708ca0cd942540b (patch) | |
| tree | 67151c59df439ec913676f2d0de84cb988fa43d9 | |
| parent | 318cdc07dea58bdd21adee838b9ee8ddfdcfaa7c (diff) | |
Fixed #21627 -- Added unicode_literals to changepassword command.
Fixed a crash when executing changepassword command when the user object
representation contained non-ASCII characters.
| -rw-r--r-- | django/contrib/auth/management/commands/changepassword.py | 2 | ||||
| -rw-r--r-- | django/contrib/auth/tests/test_management.py | 12 | ||||
| -rw-r--r-- | docs/releases/1.6.2.txt | 3 |
3 files changed, 17 insertions, 0 deletions
diff --git a/django/contrib/auth/management/commands/changepassword.py b/django/contrib/auth/management/commands/changepassword.py index 32a5373fb0..e333cafb04 100644 --- a/django/contrib/auth/management/commands/changepassword.py +++ b/django/contrib/auth/management/commands/changepassword.py @@ -1,3 +1,5 @@ +from __future__ import unicode_literals + import getpass from optparse import make_option diff --git a/django/contrib/auth/tests/test_management.py b/django/contrib/auth/tests/test_management.py index 838c8650fc..c332125ce8 100644 --- a/django/contrib/auth/tests/test_management.py +++ b/django/contrib/auth/tests/test_management.py @@ -82,6 +82,18 @@ class ChangepasswordManagementCommandTestCase(TestCase): with self.assertRaises(CommandError): command.execute("joe", stdout=self.stdout, stderr=self.stderr) + def test_that_changepassword_command_works_with_nonascii_output(self): + """ + #21627 -- Executing the changepassword management command should allow + non-ASCII characters from the User object representation. + """ + # 'Julia' with accented 'u': + models.User.objects.create_user(username='J\xfalia', password='qwerty') + + command = changepassword.Command() + command._get_pass = lambda *args: 'not qwerty' + + command.execute("J\xfalia", stdout=self.stdout) @skipIfCustomUser class CreatesuperuserManagementCommandTestCase(TestCase): diff --git a/docs/releases/1.6.2.txt b/docs/releases/1.6.2.txt index fa8bd5bc93..41bc86e906 100644 --- a/docs/releases/1.6.2.txt +++ b/docs/releases/1.6.2.txt @@ -11,3 +11,6 @@ Bug fixes * Prevented the base geometry object of a prepared geometry to be garbage collected, which could lead to crash Django (#21662). + +* Fixed a crash when executing the :djadmin:`changepassword` command when the + user object representation contained non-ASCII characters (#21627). |
