[IMP] add an implication relation between groups
bzr revid: rco@openerp.com-20110727131147-yiqgzy3sjv3ismvi
This commit is contained in:
parent
e0f401bae4
commit
398d401724
|
@ -526,6 +526,30 @@ class users(osv.osv):
|
||||||
|
|
||||||
users()
|
users()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class groups2(osv.osv):
|
||||||
|
_inherit = 'res.groups'
|
||||||
|
_columns = {
|
||||||
|
'implied_ids': fields.many2many('res.groups', 'res_groups_implied_rel', 'gid', 'hid',
|
||||||
|
string='Inherits', help='Users of this group automatically inherit those groups'),
|
||||||
|
}
|
||||||
|
|
||||||
|
def implied_groups(self, cr, uid, ids, context=None):
|
||||||
|
"return all groups recursively implied by the given ids"
|
||||||
|
closure = set()
|
||||||
|
todo = self.browse(cr, uid, ids, context)
|
||||||
|
while todo:
|
||||||
|
g = todo.pop()
|
||||||
|
if g.id not in closure:
|
||||||
|
closure.add(g.id)
|
||||||
|
todo.extend(g.implied_ids)
|
||||||
|
return list(closure)
|
||||||
|
|
||||||
|
groups2()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class res_config_view(osv.osv_memory):
|
class res_config_view(osv.osv_memory):
|
||||||
_name = 'res.config.view'
|
_name = 'res.config.view'
|
||||||
_inherit = 'res.config'
|
_inherit = 'res.config'
|
||||||
|
|
Loading…
Reference in New Issue