2016-01-05 12:35:36 +00:00
|
|
|
import traceback
|
|
|
|
|
|
2015-12-08 12:36:54 +00:00
|
|
|
from flask import render_template, redirect, jsonify, session
|
2015-12-08 09:21:51 +00:00
|
|
|
from flask_login import login_user
|
2015-12-07 16:56:11 +00:00
|
|
|
|
|
|
|
|
from app.main import main
|
2015-12-10 16:38:34 +00:00
|
|
|
from app.main.dao import users_dao, verify_codes_dao
|
2015-12-07 16:56:11 +00:00
|
|
|
from app.main.forms import TwoFactorForm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@main.route("/two-factor", methods=['GET'])
|
|
|
|
|
def render_two_factor():
|
2015-12-10 14:38:24 +00:00
|
|
|
return render_template('views/two-factor.html', form=TwoFactorForm())
|
2015-12-07 16:56:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@main.route('/two-factor', methods=['POST'])
|
|
|
|
|
def process_two_factor():
|
2016-01-05 12:35:36 +00:00
|
|
|
try:
|
|
|
|
|
form = TwoFactorForm()
|
2015-12-07 16:56:11 +00:00
|
|
|
|
2016-01-05 12:35:36 +00:00
|
|
|
if form.validate_on_submit():
|
|
|
|
|
user = users_dao.get_user_by_id(session['user_id'])
|
|
|
|
|
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
|
|
|
|
login_user(user)
|
|
|
|
|
return redirect('/dashboard')
|
|
|
|
|
else:
|
|
|
|
|
return jsonify(form.errors), 400
|
|
|
|
|
except:
|
|
|
|
|
traceback.print_exc()
|