示例#1
0
def forgot_password():
    form = SendForgotPasswordForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        user_forgot_password = UserForgotPassword.query.filter_by(user_id=user.id).first()
        if not user_forgot_password:
            user_forgot_password = UserForgotPassword(user)
        else:
            user_forgot_password.refresh()
        db.session.add(user_forgot_password)
        db.session.commit()

        token = user_forgot_password.token.encode('base64').strip().replace('=', '_')
        result, message = send_email(
            'Framgia Level Checker - Reset Password',
            app.config['MAIL_SENDERS']['admin'],
            [user.email],
            'reset_password',
            dict(token=token)
        )
        if not result:
            form.email.errors.append('Error: ' + message)
        else:
            flash('Reset password mail sent.', category='success')
            return render_template('user/reset_password_sent.html', user=user)

    return render_template('user/forgot_password.html', form=form)
示例#2
0
def forgot_password():
    form = SendForgotPasswordForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if not user.reset_password_token:
            user.refresh_password_token()
        token = user.reset_password_token.encode('base64').strip().replace(
            '=', '_')
        send_email('Framgia Code Contest - Reset Password',
                   app.config['MAIL_SENDERS']['admin'], [user.email],
                   'reset_password', dict(token=token))
        flash('Reset password email sent !', category='success')
        user.log_sent_password_token()
        db.session.add(user)
        db.session.commit()

        return render_template('user/reset_password_sent.html', user=user)

    return render_template('user/forgot_password.html', form=form)
示例#3
0
def forgot_password():
    form = SendForgotPasswordForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if not user.reset_password_token:
            user.refresh_password_token()
        token = user.reset_password_token.encode('base64').strip().replace('=', '_')
        send_email(
            'Framgia Code Contest - Reset Password',
            app.config['MAIL_SENDERS']['admin'],
            [user.email],
            'reset_password',
            dict(token=token)
        )
        flash('Reset password email sent !', category='success')
        user.log_sent_password_token()
        db.session.add(user)
        db.session.commit()

        return render_template('user/reset_password_sent.html', user=user)

    return render_template('user/forgot_password.html', form=form)