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 invite_user(): """Invites a new user to create an account and set their own password.""" form = InviteUserForm() if form.validate_on_submit(): role_choice = form.role.data.name if role_choice == 'Vendor': user = Vendor(email=form.email.data) elif role_choice == 'Merchant': user = Merchant(email=form.email.data) elif role_choice == 'Administrator': user = User(role=form.role.data, email=form.email.data) else: # invalid selection for user role flash('Invalid role selection', 'form-error') return render_template('admin/new_user.html', form=form) db.session.add(user) db.session.commit() token = user.generate_confirmation_token() send_email(user.email, 'You Are Invited To Join', 'account/email/invite', user=user, user_id=user.id, token=token) flash('User successfully invited', 'form-success') return redirect(url_for('admin.invite_user')) return render_template('admin/new_user.html', form=form)
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, phone_number=parse_phone_number(form.phone_number.data)) if user.is_worker(): user.agencies = form.agency_affiliations.data db.session.add(user) db.session.commit() token = user.generate_confirmation_token() invite_link = url_for_external('account.join_from_invite', user_id=user.id, token=token) 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 redirect(url_for('admin.invite_user')) return render_template('admin/invite_user.html', form=form)
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() send_email( user.email, "You Are Invited To Join", "account/email/invite", user=user, user_id=user.id, token=token ) flash("User {} successfully invited".format(user.full_name()), "form-success") return render_template("admin/new_user.html", form=form)