From fdf9c2afe938b46249ae4354aed491b2a79ada45 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 12 Jul 2010 16:23:03 +0200 Subject: [PATCH] [IMP] res_user: simplify the setter function implementing the user_email field bzr revid: odo@openerp.com-20100712142303-q037uyev2m0lnotf --- bin/addons/base/res/res_user.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py index c0d04fe30ca..023edc89dc5 100644 --- a/bin/addons/base/res/res_user.py +++ b/bin/addons/base/res/res_user.py @@ -183,16 +183,11 @@ class users(osv.osv): return False group_obj = self.pool.get('res.groups') extended_group_id = group_obj.get_extended_interface_group(cr, uid, context=context) - if type(ids) in (int,long,): - ids = [ids] - if value != 'simple': - #To avoid insert duplication extended group - for user in self.browse(cr, uid, ids, context=context): - group_ids = map(lambda x:x.id, user.groups_id) - if extended_group_id not in group_ids: - self.write(cr, uid, [user.id], {'groups_id': [(4, extended_group_id)]}, context=context) - else: - self.write(cr, uid, ids, {'groups_id': [(3, extended_group_id)]}, context=context) + # First always remove the users from the group (avoids duplication if called twice) + self.write(cr, uid, ids, {'groups_id': [(3, extended_group_id)]}, context=context) + # Then add them back if requested + if value == 'extended': + self.write(cr, uid, ids, {'groups_id': [(4, extended_group_id)]}, context=context) return True