Holger Brunn
6 years ago
No known key found for this signature in database
GPG Key ID: 1C9760FECA3AE18
3 changed files with
6 additions and
3 deletions
-
auth_dynamic_groups/__openerp__.py
-
auth_dynamic_groups/model/res_groups.py
-
auth_dynamic_groups/model/res_users.py
|
|
@ -22,6 +22,7 @@ |
|
|
|
"name": "Dynamic groups", |
|
|
|
"version": "8.0.1.0.0", |
|
|
|
"author": "Therp BV", |
|
|
|
"license": "AGPL-3", |
|
|
|
"complexity": "normal", |
|
|
|
'summary': 'Have membership conditions for certain groups', |
|
|
|
"category": "Tools", |
|
|
|
|
|
@ -23,7 +23,7 @@ from openerp.tools.safe_eval import safe_eval |
|
|
|
from openerp import _ |
|
|
|
|
|
|
|
|
|
|
|
class res_groups(models.Model): |
|
|
|
class ResGroups(models.Model): |
|
|
|
_inherit = 'res.groups' |
|
|
|
|
|
|
|
is_dynamic = fields.Boolean('Dynamic') |
|
|
|
|
|
@ -22,11 +22,11 @@ from openerp.models import Model |
|
|
|
from openerp import SUPERUSER_ID |
|
|
|
|
|
|
|
|
|
|
|
class res_users(Model): |
|
|
|
class ResUsers(Model): |
|
|
|
_inherit = 'res.users' |
|
|
|
|
|
|
|
def _login(self, db, login, password): |
|
|
|
uid = super(res_users, self)._login(db, login, password) |
|
|
|
uid = super(ResUsers, self)._login(db, login, password) |
|
|
|
|
|
|
|
if uid and uid != SUPERUSER_ID: |
|
|
|
self.update_dynamic_groups(uid, db) |
|
|
@ -53,6 +53,8 @@ class res_users(Model): |
|
|
|
'(%s, %s)', |
|
|
|
(uid, dynamic_group.id)) |
|
|
|
self.invalidate_cache(cr, uid, ['groups_id'], [uid]) |
|
|
|
# we really need a new transaction |
|
|
|
# pylint: disable=invalid-commit |
|
|
|
cr.commit() |
|
|
|
finally: |
|
|
|
cr.close() |