|
|
- import getpass
-
- from django.core.management.base import BaseCommand
- from hc.accounts.forms import AvailableEmailForm
- from hc.accounts.views import _make_user
-
-
- class Command(BaseCommand):
- help = """Create a super-user account."""
-
- def handle(self, *args, **options):
- email = None
- password = None
-
- while not email:
- raw = input("Email address:")
- form = AvailableEmailForm({"identity": raw})
- if not form.is_valid():
- self.stderr.write("Error: " + " ".join(form.errors["identity"]))
- continue
-
- email = form.cleaned_data["identity"]
-
- while not password:
- p1 = getpass.getpass()
- p2 = getpass.getpass("Password (again):")
- if p1.strip() == "":
- self.stderr.write("Error: Blank passwords aren't allowed.")
- continue
- if p1 != p2:
- self.stderr.write("Error: Your passwords didn't match.")
- continue
-
- password = p1
-
- user = _make_user(email)
- user.set_password(password)
- user.is_staff = True
- user.is_superuser = True
- user.save()
-
- return "Superuser created successfully."
|