summaryrefslogtreecommitdiff
path: root/odoo/addons/base/models/res_users.py
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/addons/base/models/res_users.py')
-rw-r--r--odoo/addons/base/models/res_users.py16
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