diff options
Diffstat (limited to 'odoo/addons/base/models/res_users.py')
| -rw-r--r-- | odoo/addons/base/models/res_users.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/odoo/addons/base/models/res_users.py b/odoo/addons/base/models/res_users.py index e00738323a5..dcd8921ee21 100644 --- a/odoo/addons/base/models/res_users.py +++ b/odoo/addons/base/models/res_users.py @@ -545,6 +545,10 @@ class Users(models.Model): # extra records will be deleted by the periodical garbage collection self.env['res.users.log'].create({}) # populated by defaults + @api.model + def _get_login_domain(self, login): + return [('login', '=', login)] + @classmethod def _login(cls, db, login, password): if not password: @@ -554,13 +558,11 @@ class Users(models.Model): with cls.pool.cursor() as cr: self = api.Environment(cr, SUPERUSER_ID, {})[cls._name] with self._assert_can_auth(): - user = self.search([('login', '=', login)]) - if not user: - raise AccessDenied() - - user = user.sudo(user.id) - user._check_credentials(password) - user._update_last_login() + user = self.search(self._get_login_domain(login)) + if user: + user = user.sudo(user.id) + user._check_credentials(password) + user._update_last_login() except AccessDenied: _logger.info("Login failed for db:%s login:%s from %s", db, login, ip) raise |
