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}")