Пример #1
0
def is_valid_forget_password_code( code ):
    '''
    checks if code is valid
    @return: Boolean . if code is valid or not (exists in database and is PASSWORD-type verification)
    @raise VerificationExpired: on expired verification 
    
    '''
    
    verification_object = Verification.get_forgot_password_verify_by_code( code=code )
    if verification_object :

        # check if password verification is expired
        
        print 'expiry is', type(verification_object.date_expiry)
        if  verification_object.date_expiry < datetime.now() :
            raise VerificationExpired()
        
        
        return True
    
    
    
    
    else:
        return False
Пример #2
0
def change_password_by_code( code, new_password ):
    '''
    resets the password given the verification code
    '''
    
    #check if password is valid
#     if len(new_password) < 8 or len(new_password) > 32 :
#         raise password_tool.InvalidPasswordLength('invalid old password. too short / too long')

    if password_tool.is_valid_password_format( password=new_password ) is not True :
        raise InvalidPasswordFormat('invalid format')


    verification_object = Verification.get_forgot_password_verify_by_code( code=code )
    #print verification_object


    account_object = Account.get( account_id=verification_object.account_id )
    
    if account_object :
        encrypted_new_password = password_tool.encrypt( password=new_password )
        result = account_object.save_new_password( new_password=encrypted_new_password )
        
        if result :
            verification_object.destroy()
            return True


    return False
Пример #3
0
def resend_forgot_password_by_code( code ):
    
    verification_object = Verification.get_forgot_password_verify_by_code( code=code )
    
    
    if verification_object :
        
        # step 1 update expiry
        verification_object.update_forgot_password_expiry()
        
        # step 2 add to email queue
        verification_object.add_forgot_password_email_to_queue()
    else :
        raise VerificationError('does not exist')