mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-08 00:28:26 -04:00
Adding logging.
Raise ValidationError for validate_codes rather than returning a true or false.
This commit is contained in:
@@ -95,18 +95,14 @@ class AddServiceForm(Form):
|
|||||||
|
|
||||||
def validate_codes(field, code_type):
|
def validate_codes(field, code_type):
|
||||||
codes = verify_codes_dao.get_codes(user_id=session['user_id'], code_type=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
|
print('validate_codes for user_id: {} are {}'.format(session['user_id'], codes))
|
||||||
if is_valid:
|
if not [code for code in codes if validate_code(field, code)]:
|
||||||
field.errors.clear()
|
raise ValidationError('Code does not match')
|
||||||
return is_valid
|
|
||||||
|
|
||||||
|
|
||||||
def validate_code(field, code):
|
def validate_code(field, code):
|
||||||
if field.data and check_hash(field.data, code.code):
|
if field.data and check_hash(field.data, code.code):
|
||||||
if code.expiry_datetime <= datetime.now():
|
if code.expiry_datetime <= datetime.now():
|
||||||
field.errors.append('Code has expired')
|
raise ValidationError('Code has expired')
|
||||||
return False
|
else:
|
||||||
return True
|
return code.code
|
||||||
else:
|
|
||||||
field.errors.append('Code does not match')
|
|
||||||
return False
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import traceback
|
||||||
|
|
||||||
from flask import render_template, redirect, jsonify, session
|
from flask import render_template, redirect, jsonify, session
|
||||||
from flask_login import login_user
|
from flask_login import login_user
|
||||||
|
|
||||||
@@ -13,13 +15,16 @@ def render_verify():
|
|||||||
|
|
||||||
@main.route('/verify', methods=['POST'])
|
@main.route('/verify', methods=['POST'])
|
||||||
def process_verify():
|
def process_verify():
|
||||||
form = VerifyForm()
|
try:
|
||||||
if form.validate_on_submit():
|
form = VerifyForm()
|
||||||
user = users_dao.get_user_by_id(session['user_id'])
|
if form.validate_on_submit():
|
||||||
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='email')
|
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')
|
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='email')
|
||||||
users_dao.activate_user(user.id)
|
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
||||||
login_user(user)
|
users_dao.activate_user(user.id)
|
||||||
return redirect('/add-service')
|
login_user(user)
|
||||||
else:
|
return redirect('/add-service')
|
||||||
return jsonify(form.errors), 400
|
else:
|
||||||
|
return jsonify(form.errors), 400
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
|||||||
Reference in New Issue
Block a user