109898688: All codes are valid until one code is used, then they are all marked used.

Fixed the is_active() method on the Users model, if the user was pending they would come back as active, allowing a user to sign in before being active.
There is still a problem with the validate_sms_code and validate_email_code method.
This commit is contained in:
Rebecca Law
2015-12-16 12:20:25 +00:00
parent bd8bb3c926
commit 64812c1614
18 changed files with 259 additions and 203 deletions

View File

@@ -49,8 +49,10 @@ class TwoFactorForm(Form):
Regexp(regex=verify_code, message='Code must be 5 digits')])
def validate_sms_code(self, a):
code = verify_codes_dao.get_code(session['user_id'], 'sms')
validate_code(self.sms_code, code)
codes = verify_codes_dao.get_codes(session['user_id'], 'sms')
for code in codes:
if validate_code(self.sms_code, code):
return True
class VerifyForm(Form):
@@ -62,12 +64,16 @@ class VerifyForm(Form):
Regexp(regex=verify_code, message='Code must be 5 digits')])
def validate_email_code(self, a):
code = verify_codes_dao.get_code(session['user_id'], 'email')
validate_code(self.email_code, code)
codes = verify_codes_dao.get_codes(session['user_id'], 'email')
for code in codes:
if validate_code(self.email_code, code):
return True
def validate_sms_code(self, a):
code = verify_codes_dao.get_code(session['user_id'], 'sms')
validate_code(self.sms_code, code)
codes = verify_codes_dao.get_codes(session['user_id'], 'sms')
for code in codes:
if validate_code(self.sms_code, code):
return True
def validate_code(field, code):