Browse Source

[FIX] Underscore is a special character

pull/1076/head
Stefan Rijnhart 7 years ago
parent
commit
14b4e49871
  1. 2
      password_security/__openerp__.py
  2. 2
      password_security/models/res_users.py
  3. 5
      password_security/tests/test_res_users.py

2
password_security/__openerp__.py

@ -5,7 +5,7 @@
'name': 'Password Security', 'name': 'Password Security',
"summary": "Allow admin to set password security requirements.", "summary": "Allow admin to set password security requirements.",
'version': '9.0.1.2.0',
'version': '9.0.1.2.1',
'author': "LasLabs, Odoo Community Association (OCA)", 'author': "LasLabs, Odoo Community Association (OCA)",
'category': 'Base', 'category': 'Base',
'depends': [ 'depends': [

2
password_security/models/res_users.py

@ -78,7 +78,7 @@ class ResUsers(models.Model):
if company_id.password_numeric: if company_id.password_numeric:
password_regex.append(r'(?=.*?\d)') password_regex.append(r'(?=.*?\d)')
if company_id.password_special: if company_id.password_special:
password_regex.append(r'(?=.*?\W)')
password_regex.append(r'(?=.*?[\W_])')
password_regex.append('.{%d,}$' % company_id.password_length) password_regex.append('.{%d,}$' % company_id.password_length)
if not re.search(''.join(password_regex), password): if not re.search(''.join(password_regex), password):
raise PassError(_(self.password_match_message())) raise PassError(_(self.password_match_message()))

5
password_security/tests/test_res_users.py

@ -155,3 +155,8 @@ class TestResUsers(TransactionCase):
self.assertEqual( self.assertEqual(
True, rec_id._validate_pass_reset(), True, rec_id._validate_pass_reset(),
) )
def test_underscore_is_special_character(self):
self.assertTrue(self.main_comp.password_special)
rec_id = self._new_record()
rec_id.check_password('asdQWE12345_3')
Loading…
Cancel
Save