From dca1812f7f3022b31bdaaa62e33c7cef3a469240 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 29 Jul 2011 17:12:16 +0200 Subject: [PATCH] simple optimization when modifying groups of users bzr revid: rco@openerp.com-20110729151216-7spi02jeibzl7jhz --- openerp/addons/base/res/res_user.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_user.py b/openerp/addons/base/res/res_user.py index f903f7bfc4a..0247525616e 100644 --- a/openerp/addons/base/res/res_user.py +++ b/openerp/addons/base/res/res_user.py @@ -633,9 +633,11 @@ class users_implied(osv.osv): # add implied groups for all users groups_obj = self.pool.get('res.groups') for u in self.browse(cr, uid, ids): - gids = groups_obj.get_closure(cr, uid, map(int, u.groups_id), context) - groups = [(6, 0, gids)] - super(users_implied, self).write(cr, uid, [u.id], {'groups_id': groups}, context) + old_gids = map(int, u.groups_id) + new_gids = groups_obj.get_closure(cr, uid, old_gids, context) + if len(old_gids) != len(new_gids): + values = {'groups_id': [(6, 0, new_gids)]} + super(users_implied, self).write(cr, uid, [u.id], values, context) return res users_implied()