예제 #1
0
 def test_get_user_by_case_insensitive_public_nickname(self):
     user = DBDiscussionSession.query(User).get(2)
     self.assertIsNotNone(
         lib.get_user_by_case_insensitive_public_nickname(
             user.public_nickname.lower()))
     self.assertIsNotNone(
         lib.get_user_by_case_insensitive_public_nickname(
             user.public_nickname.upper()))
     self.assertIsNone(
         lib.get_user_by_case_insensitive_public_nickname('puh_der_bär'))
예제 #2
0
def __check_login_params(nickname, email, password,
                         passwordconfirm) -> Keywords:
    db_nick1 = get_user_by_case_insensitive_nickname(nickname)
    db_nick2 = get_user_by_case_insensitive_public_nickname(nickname)
    db_mail = DBDiscussionSession.query(User).filter(
        func.lower(User.email) == func.lower(email)).first()
    is_mail_valid = validate_email(email, check_mx=True)

    # are the password equal?
    if not password == passwordconfirm:
        LOG.debug("Passwords are not equal")
        return _.pwdNotEqual

    # empty password?
    if len(password) <= 5:
        LOG.debug("Password too short")
        return _.pwdShort

    # is the nick already taken?
    if db_nick1 or db_nick2:
        LOG.debug("Nickname '%s' is taken", nickname)
        return _.nickIsTaken

    # is the email already taken?
    if db_mail:
        LOG.debug("E-Mail '%s' is taken", email)
        return _.mailIsTaken

    if len(email) < 2 or not is_mail_valid:
        LOG.debug("E-Mail '%s' is too short or not valid otherwise", email)
        return _.mailNotValid

    return None
예제 #3
0
def __check_login_params(nickname, email, password,
                         passwordconfirm) -> Keywords:
    db_nick1 = get_user_by_case_insensitive_nickname(nickname)
    db_nick2 = get_user_by_case_insensitive_public_nickname(nickname)
    db_mail = DBDiscussionSession.query(User).filter(
        func.lower(User.email) == func.lower(email)).first()
    is_mail_valid = validate_email(email, check_mx=True)

    # are the password equal?
    if not password == passwordconfirm:
        logger('Auth.Login', 'Passwords are not equal')
        return _.pwdNotEqual

    # empty password?
    if len(password) <= 5:
        logger('Auth.Login', 'Password too short')
        return _.pwdShort

    # is the nick already taken?
    if db_nick1 or db_nick2:
        logger('Auth.Login', 'Nickname \'' + nickname + '\' is taken')
        return _.nickIsTaken

    # is the email already taken?
    if db_mail:
        logger('Auth.Login', 'E-Mail \'' + email + '\' is taken')
        return _.mailIsTaken

    if len(email) < 2 or not is_mail_valid:
        logger('Auth.Login',
               'E-Mail \'' + email + '\' is too short or not valid')
        return _.mailNotValid

    return None