diff --git a/muk_security/__manifest__.py b/muk_security/__manifest__.py
index fb9c924..a9772ef 100644
--- a/muk_security/__manifest__.py
+++ b/muk_security/__manifest__.py
@@ -20,7 +20,7 @@
{
"name": "MuK Security",
"summary": """Security Features""",
- "version": "11.0.1.1.4",
+ "version": "11.0.1.1.5",
"category": "Extra Tools",
"license": "AGPL-3",
"website": "http://www.mukit.at",
diff --git a/muk_security/models/res_users.py b/muk_security/models/res_users.py
index 8f8abb1..22a21b4 100644
--- a/muk_security/models/res_users.py
+++ b/muk_security/models/res_users.py
@@ -1,67 +1,57 @@
-###################################################################################
-#
-# Copyright (C) 2017 MuK IT GmbH
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-###################################################################################
-
-import logging
-
-from odoo import api, fields, models
-from odoo import tools, _
-from odoo.exceptions import ValidationError
-
-from odoo.addons.base.res import res_users
-
-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',
- column1='uid',
- column2='gid',
- string='Groups',
- readonly=True)
-
- #----------------------------------------------------------
- # 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, *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)
+###################################################################################
+#
+# Copyright (C) 2017 MuK IT GmbH
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+###################################################################################
+
+import logging
+
+from odoo import api, fields, models
+from odoo import tools, _
+from odoo.exceptions import ValidationError
+
+from odoo.addons.base.res import res_users
+
+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',
+ column1='uid',
+ column2='gid',
+ string='Groups',
+ readonly=True)
+
+ #----------------------------------------------------------
+ # Functions
+ #----------------------------------------------------------
+
+ @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)
\ No newline at end of file
diff --git a/muk_security/tools/helper.py b/muk_security/tools/helper.py
index 2c540a3..1a7fe2f 100644
--- a/muk_security/tools/helper.py
+++ b/muk_security/tools/helper.py
@@ -29,5 +29,8 @@ class NoSecurityUid(int):
return False
return super(NoSecurityUid, self).__int__() == other
+ def __iter__(self):
+ yield super(NoSecurityUid, self).__int__()
+
def __hash__(self):
- return super(NoSecurityUid, self).__hash__()
+ return super(NoSecurityUid, self).__hash__()
\ No newline at end of file