diff options
| author | Kinjal Mehta <kme@odoo.com> | 2015-09-02 16:17:20 +0530 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2016-07-29 15:15:47 +0200 |
| commit | a7d276727f84c543f70ee83b459cd71f932963fd (patch) | |
| tree | 215a70492a5270e683ce2a483428bbfc772da45c /addons | |
| parent | 64ac8caa060f7067adc8c7e3bd381a6f5350e0d8 (diff) | |
[SPLIT] auth_ldap: split files according to new API.
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/auth_ldap/models/__init__.py | 4 | ||||
| -rw-r--r-- | addons/auth_ldap/models/res_company.py | 11 | ||||
| -rw-r--r-- | addons/auth_ldap/models/res_company_ldap.py (renamed from addons/auth_ldap/models/users_ldap.py) | 50 | ||||
| -rw-r--r-- | addons/auth_ldap/models/res_users.py | 45 |
4 files changed, 59 insertions, 51 deletions
diff --git a/addons/auth_ldap/models/__init__.py b/addons/auth_ldap/models/__init__.py index 424954595f5..ddc234b54b1 100644 --- a/addons/auth_ldap/models/__init__.py +++ b/addons/auth_ldap/models/__init__.py @@ -1,3 +1,5 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. -import users_ldap +import res_company +import res_company_ldap +import res_users diff --git a/addons/auth_ldap/models/res_company.py b/addons/auth_ldap/models/res_company.py new file mode 100644 index 00000000000..574e8eca189 --- /dev/null +++ b/addons/auth_ldap/models/res_company.py @@ -0,0 +1,11 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import ldap +from openerp.osv import fields, osv + +class res_company(osv.osv): + _inherit = "res.company" + _columns = { + 'ldaps': fields.one2many( + 'res.company.ldap', 'company', 'LDAP Parameters', copy=True, groups="base.group_system"), + }
\ No newline at end of file diff --git a/addons/auth_ldap/models/users_ldap.py b/addons/auth_ldap/models/res_company_ldap.py index c9de7c5f15f..d4a147efe82 100644 --- a/addons/auth_ldap/models/users_ldap.py +++ b/addons/auth_ldap/models/res_company_ldap.py @@ -4,11 +4,9 @@ import ldap import logging from ldap.filter import filter_format -import openerp.exceptions from openerp import tools from openerp.osv import fields, osv from openerp import SUPERUSER_ID -from openerp.modules.registry import RegistryManager _logger = logging.getLogger(__name__) class CompanyLDAP(osv.osv): @@ -217,51 +215,3 @@ class CompanyLDAP(osv.osv): 'sequence': 10, 'create_user': True, } - - - -class res_company(osv.osv): - _inherit = "res.company" - _columns = { - 'ldaps': fields.one2many( - 'res.company.ldap', 'company', 'LDAP Parameters', copy=True, groups="base.group_system"), - } - - -class users(osv.osv): - _inherit = "res.users" - def _login(self, db, login, password): - user_id = super(users, self)._login(db, login, password) - if user_id: - return user_id - registry = RegistryManager.get(db) - with registry.cursor() as cr: - cr.execute("SELECT id FROM res_users WHERE lower(login)=%s", (login,)) - res = cr.fetchone() - if res: - return False - ldap_obj = registry.get('res.company.ldap') - for conf in ldap_obj.get_ldap_dicts(cr): - entry = ldap_obj.authenticate(conf, login, password) - if entry: - user_id = ldap_obj.get_or_create_user( - cr, SUPERUSER_ID, conf, login, entry) - if user_id: - break - return user_id - - def check_credentials(self, cr, uid, password): - try: - super(users, self).check_credentials(cr, uid, password) - except openerp.exceptions.AccessDenied: - - cr.execute('SELECT login FROM res_users WHERE id=%s AND active=TRUE', - (int(uid),)) - res = cr.fetchone() - if res: - ldap_obj = self.pool['res.company.ldap'] - for conf in ldap_obj.get_ldap_dicts(cr): - if ldap_obj.authenticate(conf, res[0], password): - return - raise - diff --git a/addons/auth_ldap/models/res_users.py b/addons/auth_ldap/models/res_users.py new file mode 100644 index 00000000000..9c50ab5b2db --- /dev/null +++ b/addons/auth_ldap/models/res_users.py @@ -0,0 +1,45 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import ldap +import openerp.exceptions +from openerp.osv import fields, osv +from openerp import SUPERUSER_ID +from openerp.modules.registry import RegistryManager + +class users(osv.osv): + _inherit = "res.users" + def _login(self, db, login, password): + user_id = super(users, self)._login(db, login, password) + if user_id: + return user_id + registry = RegistryManager.get(db) + with registry.cursor() as cr: + cr.execute("SELECT id FROM res_users WHERE lower(login)=%s", (login,)) + res = cr.fetchone() + if res: + return False + ldap_obj = registry.get('res.company.ldap') + for conf in ldap_obj.get_ldap_dicts(cr): + entry = ldap_obj.authenticate(conf, login, password) + if entry: + user_id = ldap_obj.get_or_create_user( + cr, SUPERUSER_ID, conf, login, entry) + if user_id: + break + return user_id + + def check_credentials(self, cr, uid, password): + try: + super(users, self).check_credentials(cr, uid, password) + except openerp.exceptions.AccessDenied: + + cr.execute('SELECT login FROM res_users WHERE id=%s AND active=TRUE', + (int(uid),)) + res = cr.fetchone() + if res: + ldap_obj = self.pool['res.company.ldap'] + for conf in ldap_obj.get_ldap_dicts(cr): + if ldap_obj.authenticate(conf, res[0], password): + return + raise +
\ No newline at end of file |
