Browse Source

use django's password validator in createsuperuser

Rafał Pitoń 8 years ago
parent
commit
30809e94dd
1 changed files with 9 additions and 2 deletions
  1. 9 2
      misago/users/management/commands/createsuperuser.py

+ 9 - 2
misago/users/management/commands/createsuperuser.py

@@ -6,13 +6,14 @@ import sys
 from getpass import getpass
 from getpass import getpass
 
 
 from django.contrib.auth import get_user_model
 from django.contrib.auth import get_user_model
+from django.contrib.auth.password_validation import validate_password
 from django.core.exceptions import ValidationError
 from django.core.exceptions import ValidationError
 from django.core.management.base import BaseCommand
 from django.core.management.base import BaseCommand
 from django.db import DEFAULT_DB_ALIAS, IntegrityError
 from django.db import DEFAULT_DB_ALIAS, IntegrityError
 from django.utils.encoding import force_str
 from django.utils.encoding import force_str
 from django.utils.six.moves import input
 from django.utils.six.moves import input
 
 
-from ...validators import validate_email, validate_password, validate_username
+from ...validators import validate_email, validate_username
 
 
 
 
 class NotRunningInTTYException(Exception):
 class NotRunningInTTYException(Exception):
@@ -107,10 +108,16 @@ class Command(BaseCommand):
                     except ValidationError as e:
                     except ValidationError as e:
                         self.stderr.write(e.messages[0])
                         self.stderr.write(e.messages[0])
 
 
+                User = get_user_model()
+
                 while not password:
                 while not password:
                     try:
                     try:
                         raw_value = getpass("Enter password: ").strip()
                         raw_value = getpass("Enter password: ").strip()
-                        validate_password(raw_value)
+                        validate_password(raw_value, user=User(
+                            username=username,
+                            email=email
+                        ))
+
                         repeat_raw_value = getpass("Repeat password: ").strip()
                         repeat_raw_value = getpass("Repeat password: ").strip()
                         if raw_value != repeat_raw_value:
                         if raw_value != repeat_raw_value:
                             raise ValidationError(
                             raise ValidationError(