From d8672f0f3ae50ffae34c023df646e902428925a9 Mon Sep 17 00:00:00 2001 From: "Anup (OpenERP)" Date: Tue, 11 May 2010 14:00:33 +0530 Subject: [PATCH] [FIX] Groups if removed, should remove relavent access rights too bzr revid: ach@tinyerp.com-20100511083033-gbpbgiaopyesfzvv --- bin/addons/base/ir/ir_model.py | 2 +- bin/addons/base/res/res_user.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index f6412e85b75..40c12461bc8 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -286,7 +286,7 @@ class ir_model_access(osv.osv): _columns = { 'name': fields.char('Name', size=64, required=True), 'model_id': fields.many2one('ir.model', 'Object', required=True), - 'group_id': fields.many2one('res.groups', 'Group'), + 'group_id': fields.many2one('res.groups', 'Group', ondelete='cascade'), 'perm_read': fields.boolean('Read Access'), 'perm_write': fields.boolean('Write Access'), 'perm_create': fields.boolean('Create Access'), diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index 1542b58935c..e6175917b26 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -430,6 +430,13 @@ class groups2(osv.osv): ##FIXME: Is there a reason to inherit this object ? _columns = { 'users': fields.many2many('res.users', 'res_groups_users_rel', 'gid', 'uid', 'Users'), } + + def unlink(self, cr, uid, ids, context=None): + for record in self.read(cr, uid, ids, ['users'], context=context): + if record['users']: + raise osv.except_osv(_('Warning !'), _('Make sure you have no users linked with the group(s)!')) + return super(groups2, self).unlink(cr, uid, ids, context=context) + groups2() class res_config_view(osv.osv_memory):