Files
procat2/procat2/management/commands/add_user.py

34 lines
1.0 KiB
Python

import re
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
class Command(BaseCommand):
help = 'Add a procat2 user'
def add_arguments(self, parser):
parser.add_argument('first_name', type=str)
parser.add_argument('last_name', type=str)
parser.add_argument('email', type=str)
def handle(self, *args, **options):
fname = options['first_name']
lname = options['last_name']
email = options['email']
email = re.sub('[<>]', '', email)
uname = str(lname[:5] + fname[:3]).lower()
pw = str(fname[0] + lname[0] + 'visual').lower()
user = User.objects.create_user(uname, password=pw)
user.first_name = fname
user.last_name = lname
user.email = email
user.is_superuser = False
user.is_staff = False
user.is_active = True
user.save()
self.stdout.write(self.style.SUCCESS(f'Added user "{uname}" with password "{pw}" ({email})'))