Project 'mj/mo-submit' was moved to 'mo-p/osmo'. Please update any links and bookmarks that may still have the old path.
Select Git revision
create-user

Martin Mareš authored
create-user 1.35 KiB
#!/usr/bin/env python3
import mo.db as db
import mo.users
import mo.util
import argparse
parser = argparse.ArgumentParser(description='Založí nového uživatele')
parser.add_argument(dest='email', help='e-mailová adresa')
parser.add_argument(dest='first_name', help='křestní jméno (jedno nebo více)')
parser.add_argument(dest='last_name', help='příjmení (jedno nebo více)')
parser.add_argument('--org', default=False, action='store_true', help='přidělí uživateli organizátorská práva')
parser.add_argument('--admin', default=False, action='store_true', help='přidělí uživateli správcovská práva')
parser.add_argument('--passwd', type=str, help='nastaví počáteční heslo')
parser.add_argument('--mail', default=False, action='store_true', help='pošle uživateli mail o založení účtu')
args = parser.parse_args()
session = db.get_session()
user = db.User(
email=args.email,
first_name=args.first_name,
last_name=args.last_name,
is_org=args.org,
is_admin=args.admin,
)
session.add(user)
session.flush()
mo.util.log(db.LogType.user, user.user_id, {
'action': 'created',
'new': db.row2dict(user),
})
if args.passwd is not None:
mo.users.set_password(user, args.passwd)
if args.mail:
token = mo.users.ask_reset_password(user)
session.commit()
if args.mail:
mo.util.send_new_account_email(user, token)