def invite_user(): """Invites a new user to create an account and set their own password.""" form = InviteUserForm() if form.validate_on_submit(): user = User( role=form.role.data, first_name=form.first_name.data, last_name=form.last_name.data, email=form.email.data) db.session.add(user) db.session.commit() token = user.generate_confirmation_token() invite_link = url_for( 'account.join_from_invite', user_id=user.id, token=token, _external=True) get_queue().enqueue( send_email, recipient=user.email, subject='You Are Invited To Join', template='account/email/invite', user=user, invite_link=invite_link, ) flash('User {} successfully invited'.format(user.full_name()), 'form-success') return render_template('admin/new_user.html', form=form)
def seed_db(): """Runs the set-up needed for both local development and production. Also sets up first admin user.""" Role.insert_roles() admin_query = Role.query.filter_by(name='Administrator') if admin_query.first() is not None: if User.query.filter_by(email=Config.ADMIN_EMAIL).first() is None: user = User(first_name='Admin', last_name='Account', password=Config.ADMIN_PASSWORD, confirmed=True, email=Config.ADMIN_EMAIL) db.session.add(user) db.session.commit() print('Added administrator {}'.format(user.full_name()))
def new_user(): """Create a new user.""" form = NewUserForm() if form.validate_on_submit(): user = User( role=form.role.data, first_name=form.first_name.data, last_name=form.last_name.data, email=form.email.data, password=form.password.data) db.session.add(user) db.session.commit() flash('User {} successfully created'.format(user.full_name()), 'form-success') return render_template('admin/new_user.html', form=form)