def verify_email(token): db_session = Client().session() try: verification_token = db_session.query(EmailVerificationToken).\ filter(EmailVerificationToken.token == token).\ one() user = db_session.query(User).\ filter(User.user_id == verification_token.user_id).\ one() except NoResultFound: abort(404) user.email_verified_at = utcnow() db_session.add(user) db_session.delete(verification_token) return render_template('verification_complete.html.jinja')
def accept_invitation(token): if not g.user: return render_template('invitation_registration.html.jinja') session = Client().session() try: invite = session.query(AssociationInvite).\ filter(AssociationInvite.token == token).\ one() except NoResultFound: abort(404) if invite.email != g.user.email: raise StandardError('Logged-in user had email {0} and a token for an ' 'invite for {1}'.format(g.user.email, invite.email)) session.add(UserAssociation(association_id=invite.association_id, user_id=g.user.user_id)) session.delete(invite) if g.user.email_verified_at is None: g.user.email_verified_at = utcnow() session.add(g.user) return redirect(url_for('manage_association', association_id=invite.association_id))