mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-20 22:40:31 -04:00
109526036: Fix bug.
If one of the codes was invalid and one was valid on the verify page the valid code would be marked as used.
This commit is contained in:
@@ -31,6 +31,13 @@ def use_code(id):
|
|||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
def use_code_for_user_and_type(user_id, code_type):
|
||||||
|
verify_code = VerifyCodes.query.filter_by(user_id=user_id, code_type=code_type).first()
|
||||||
|
verify_code.code_used = True
|
||||||
|
db.session.add(verify_code)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
def add_code_with_expiry(user_id, code, code_type, expiry):
|
def add_code_with_expiry(user_id, code, code_type, expiry):
|
||||||
code = VerifyCodes(user_id=user_id,
|
code = VerifyCodes(user_id=user_id,
|
||||||
code=code,
|
code=code,
|
||||||
|
|||||||
@@ -79,7 +79,6 @@ def validate_code(field, code):
|
|||||||
field.errors.append('Code does not match')
|
field.errors.append('Code does not match')
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
verify_codes_dao.use_code(code.id)
|
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return True
|
return False
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from flask import render_template, redirect, jsonify, session
|
|||||||
from flask_login import login_user
|
from flask_login import login_user
|
||||||
|
|
||||||
from app.main import main
|
from app.main import main
|
||||||
from app.main.dao import users_dao
|
from app.main.dao import users_dao, verify_codes_dao
|
||||||
from app.main.forms import VerifyForm
|
from app.main.forms import VerifyForm
|
||||||
|
|
||||||
|
|
||||||
@@ -16,6 +16,8 @@ def process_verify():
|
|||||||
form = VerifyForm()
|
form = VerifyForm()
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
user = users_dao.get_user_by_id(session['user_id'])
|
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='email')
|
||||||
|
verify_codes_dao.use_code_for_user_and_type(user_id=user.id, code_type='sms')
|
||||||
users_dao.activate_user(user.id)
|
users_dao.activate_user(user.id)
|
||||||
login_user(user)
|
login_user(user)
|
||||||
return redirect('/add-service')
|
return redirect('/add-service')
|
||||||
|
|||||||
Reference in New Issue
Block a user