|
|
@ -30,13 +30,13 @@ from odoo.addons.muk_security.tools import helper |
|
|
|
_logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
class AccessUser(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
_inherit = 'res.users' |
|
|
|
|
|
|
|
#---------------------------------------------------------- |
|
|
|
# Database |
|
|
|
#---------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
|
|
security_groups = fields.Many2many( |
|
|
|
comodel_name='muk_security.groups', |
|
|
|
relation='muk_security_groups_explicit_users_rel', |
|
|
@ -48,10 +48,20 @@ class AccessUser(models.Model): |
|
|
|
#---------------------------------------------------------- |
|
|
|
# Functions |
|
|
|
#---------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
|
|
def browse(self, *args, **kwargs): |
|
|
|
if len(args) and isinstance(args[0], helper.NoSecurityUid): |
|
|
|
args = list(args) |
|
|
|
args[0] = super(helper.NoSecurityUid, args[0]).__int__() |
|
|
|
args = tuple(args) |
|
|
|
return super(AccessUser, self).browse(*args, **kwargs) |
|
|
|
|
|
|
|
|
|
|
|
@classmethod |
|
|
|
def _browse(cls, ids, env, prefetch=None, add_prefetch=True): |
|
|
|
return super(AccessUser, cls)._browse([ |
|
|
|
id if not isinstance(id, helper.NoSecurityUid) |
|
|
|
else super(helper.NoSecurityUid, id).__int__() |
|
|
|
for id in ids], env, prefetch=prefetch) |
|
|
|
def _browse(cls, ids, *args, **kwargs): |
|
|
|
def convert_security_uid(id): |
|
|
|
if isinstance(id, helper.NoSecurityUid): |
|
|
|
return super(helper.NoSecurityUid, id).__int__() |
|
|
|
return id |
|
|
|
access_ids = [convert_security_uid(id) for id in ids] |
|
|
|
return super(AccessUser, cls)._browse(access_ids, *args, **kwargs) |