[IMP] res_users: remove unused methods get_closure and get_maximal
bzr revid: rco@openerp.com-20111206162356-rysxwfb47h3javtg
This commit is contained in:
parent
a3424cf3e2
commit
96878a5fc6
|
@ -602,13 +602,6 @@ class groups_implied(osv.osv):
|
||||||
type='many2many', relation='res.groups', string='Transitively inherits'),
|
type='many2many', relation='res.groups', string='Transitively inherits'),
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_closure(self, cr, uid, ids, context=None):
|
|
||||||
"return the reflexive transitive closure of implied_ids for group ids"
|
|
||||||
res = set(ids)
|
|
||||||
for g in self.browse(cr, 1, ids):
|
|
||||||
res.update(map(int, g.trans_implied_ids))
|
|
||||||
return list(res)
|
|
||||||
|
|
||||||
def create(self, cr, uid, values, context=None):
|
def create(self, cr, uid, values, context=None):
|
||||||
users = values.pop('users', None)
|
users = values.pop('users', None)
|
||||||
gid = super(groups_implied, self).create(cr, uid, values, context)
|
gid = super(groups_implied, self).create(cr, uid, values, context)
|
||||||
|
@ -627,20 +620,6 @@ class groups_implied(osv.osv):
|
||||||
super(groups_implied, self).write(cr, uid, gids, vals, context)
|
super(groups_implied, self).write(cr, uid, gids, vals, context)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def get_maximal(self, cr, uid, ids, context=None):
|
|
||||||
"return the maximal element among the group ids"
|
|
||||||
max_set, max_closure = set(), set()
|
|
||||||
for gid in ids:
|
|
||||||
if gid not in max_closure:
|
|
||||||
closure = set(self.get_closure(cr, uid, [gid], context))
|
|
||||||
max_set -= closure # remove implied groups from max_set
|
|
||||||
max_set.add(gid) # gid is maximal
|
|
||||||
max_closure |= closure # update closure of max_set
|
|
||||||
if len(max_set) > 1:
|
|
||||||
log = logging.getLogger('res.groups')
|
|
||||||
log.warning('Groups %s are maximal among %s, only one expected.', max_set, ids)
|
|
||||||
return bool(max_set) and max_set.pop()
|
|
||||||
|
|
||||||
groups_implied()
|
groups_implied()
|
||||||
|
|
||||||
class users_implied(osv.osv):
|
class users_implied(osv.osv):
|
||||||
|
@ -661,12 +640,13 @@ class users_implied(osv.osv):
|
||||||
if values.get('groups_id'):
|
if values.get('groups_id'):
|
||||||
# add implied groups for all users
|
# add implied groups for all users
|
||||||
groups_obj = self.pool.get('res.groups')
|
groups_obj = self.pool.get('res.groups')
|
||||||
for u in self.browse(cr, uid, ids):
|
for user in self.browse(cr, uid, ids):
|
||||||
old_gids = map(int, u.groups_id)
|
groups = set(user.groups_id)
|
||||||
new_gids = groups_obj.get_closure(cr, uid, old_gids, context)
|
for g in user.groups_id:
|
||||||
if len(old_gids) != len(new_gids):
|
groups.update(g.trans_implied_ids)
|
||||||
values = {'groups_id': [(6, 0, new_gids)]}
|
if len(groups) != len(user.groups_id):
|
||||||
super(users_implied, self).write(cr, uid, [u.id], values, context)
|
values = {'groups_id': [(6, 0, map(int, groups))]}
|
||||||
|
super(users_implied, self).write(cr, uid, [user.id], values, context)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
users_implied()
|
users_implied()
|
||||||
|
|
Loading…
Reference in New Issue