Source code for utils.management.commands.createreviewuser
import logging
from django.conf import settings
from django.contrib.auth import get_user_model
from django.core.management import BaseCommand
try:
from faker import Factory as FakerFactory
except ImportError as error:
raise Exception(
"Have you installed the dev-requirements? Failed importing {}".format(error)
) from error
_faker = FakerFactory.create("nl_NL")
logger = logging.getLogger(__name__)
[docs]class Command(BaseCommand):
"""Command to create a user we can use to review"""
help = "Creates a user for the a review environment"
[docs] def add_arguments(self, parser):
parser.add_argument(
"--username",
dest="username",
default=None,
help="Specifies the username for the user.",
)
parser.add_argument(
"--password",
dest="password",
default=None,
help="Specifies the password for the user.",
)
[docs] def handle(self, *args, **options):
if not settings.DEBUG:
logger.info("Cannot create review user in production mode")
return
username = options.get("username")
password = options.get("password")
if username is None:
username = _faker.user_name()
if password is None:
password = get_user_model().objects.make_random_password(length=15)
get_user_model().objects.create_superuser(
username=username,
email=f"{username}@example.com",
password=password,
first_name="Riley",
last_name="Review",
)
logger.info(f"Username: {username}")
logger.info(f"Password: {password}")