From dd41075caa728bef2e08f7fe24026d04630fcc6d Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 18 Sep 2012 11:02:31 +0200 Subject: [PATCH] [IMP] portal: delete user when removed from all portals bzr revid: rco@openerp.com-20120918090231-14v6ep20dc23zhui --- addons/portal/wizard/portal_wizard.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/portal/wizard/portal_wizard.py b/addons/portal/wizard/portal_wizard.py index 04e39801496..8ad956510eb 100644 --- a/addons/portal/wizard/portal_wizard.py +++ b/addons/portal/wizard/portal_wizard.py @@ -144,10 +144,14 @@ class wizard_user(osv.osv_memory): # remove the user (if it exists) from the portal group if user: if portal in user.groups_id: - values = {'groups_id': [(3, portal.id)]} if len(user.groups_id) == 1: - values['active'] = False # deactivate user - user.write(values) + # delete or deactivate the user + try: + user.unlink() + except: + user.write({'groups_id': [(3, portal.id)], 'active': False}) + else: + user.write({'groups_id': [(3, portal.id)]}) def _retrieve_user(self, cr, uid, wizard_user, context=None): """ retrieve the (possibly inactive) user corresponding to wizard_user.partner_id