mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 07:46:23 -04:00
109898688: Refactor the validate codes logic to be more susinct and easier to read.
This commit is contained in:
@@ -95,21 +95,18 @@ 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)
|
||||||
for code in codes:
|
is_valid = len([code for code in codes if validate_code(field, code)]) == 1
|
||||||
if validate_code(field, code):
|
if is_valid:
|
||||||
if code.expiry_datetime <= datetime.now():
|
field.errors.clear()
|
||||||
field.errors.append('Code has expired')
|
return is_valid
|
||||||
return False
|
|
||||||
return True
|
|
||||||
field.errors.append('Code does not match')
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def validate_code(field, code):
|
def validate_code(field, code):
|
||||||
if field.data is not None:
|
if field.data and check_hash(field.data, code.code):
|
||||||
if check_hash(field.data, code.code) is False:
|
if code.expiry_datetime <= datetime.now():
|
||||||
|
field.errors.append('Code has expired')
|
||||||
return False
|
return False
|
||||||
else:
|
return True
|
||||||
return True
|
|
||||||
else:
|
else:
|
||||||
|
field.errors.append('Code does not match')
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user