mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 02:42:26 -05:00
Merge conflicts with master.
This commit is contained in:
@@ -112,18 +112,14 @@ class AddServiceForm(Form):
|
||||
|
||||
def validate_codes(field, code_type):
|
||||
codes = verify_codes_dao.get_codes(user_id=session['user_id'], code_type=code_type)
|
||||
is_valid = len([code for code in codes if validate_code(field, code)]) == 1
|
||||
if is_valid:
|
||||
field.errors.clear()
|
||||
return is_valid
|
||||
print('validate_codes for user_id: {} are {}'.format(session['user_id'], codes))
|
||||
if not [code for code in codes if validate_code(field, code)]:
|
||||
raise ValidationError('Code does not match')
|
||||
|
||||
|
||||
def validate_code(field, code):
|
||||
if field.data and check_hash(field.data, code.code):
|
||||
if code.expiry_datetime <= datetime.now():
|
||||
field.errors.append('Code has expired')
|
||||
return False
|
||||
return True
|
||||
else:
|
||||
field.errors.append('Code does not match')
|
||||
return False
|
||||
raise ValidationError('Code has expired')
|
||||
else:
|
||||
return code.code
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
|
||||
from flask import (
|
||||
render_template, redirect, jsonify, session, url_for)
|
||||
|
||||
from flask_login import login_user
|
||||
|
||||
from app.main import main
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
from flask import (
|
||||
render_template, redirect, jsonify, session, url_for)
|
||||
|
||||
from flask_login import login_user
|
||||
|
||||
from app.main import main
|
||||
@@ -10,16 +11,13 @@ from app.main.forms import VerifyForm
|
||||
@main.route('/verify', methods=['GET', 'POST'])
|
||||
def verify():
|
||||
# TODO there needs to be a way to regenerate a session id
|
||||
try:
|
||||
user = users_dao.get_user_by_id(session['user_id'])
|
||||
form = VerifyForm()
|
||||
if form.validate_on_submit():
|
||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='email')
|
||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
||||
users_dao.activate_user(user.id)
|
||||
login_user(user)
|
||||
return redirect(url_for('.add_service'))
|
||||
return render_template('views/verify.html', form=form)
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
# or handle gracefully.
|
||||
user = users_dao.get_user_by_id(session['user_id'])
|
||||
form = VerifyForm()
|
||||
if form.validate_on_submit():
|
||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='email')
|
||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
||||
users_dao.activate_user(user.id)
|
||||
login_user(user)
|
||||
return redirect(url_for('.add_service'))
|
||||
return render_template('views/verify.html', form=form)
|
||||
|
||||
Reference in New Issue
Block a user