From e44897b641e702c48ba9c47b21c284534eca2288 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 23 Apr 2012 18:43:31 +0200 Subject: [PATCH] [IMP] portal: improved inheritancy when creating a new portal user bzr revid: qdp-launchpad@openerp.com-20120423164331-2d37425zb2gdk75w --- addons/portal/res_user.py | 12 ++++++++++++ addons/portal/wizard/portal_wizard.py | 11 ++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/addons/portal/res_user.py b/addons/portal/res_user.py index 127c3079b29..ba3ee5f33f6 100644 --- a/addons/portal/res_user.py +++ b/addons/portal/res_user.py @@ -30,6 +30,18 @@ class res_users(osv.osv): string='Related Partner'), } + def prepare_new_user_data(self, u, wiz, password): + return { + 'name': u.name, + 'login': u.user_email, + 'password': password, + 'user_email': u.user_email, + 'context_lang': u.lang, + 'share': True, + 'partner_id': u.partner_id and u.partner_id.id, + } + + res_users() diff --git a/addons/portal/wizard/portal_wizard.py b/addons/portal/wizard/portal_wizard.py index e35e8225469..23cc1bc9146 100644 --- a/addons/portal/wizard/portal_wizard.py +++ b/addons/portal/wizard/portal_wizard.py @@ -145,15 +145,8 @@ class wizard(osv.osv_memory): existing_logins = [u.login for u in existing_users] # create new users in portal (skip existing logins) - new_users_data = [ { - 'name': u.name, - 'login': u.user_email, - 'password': random_password(), - 'user_email': u.user_email, - 'context_lang': u.lang, - 'share': True, - 'partner_id': u.partner_id and u.partner_id.id, - } for u in wiz.user_ids if u.user_email not in existing_logins ] + new_users_data = [ user_obj.prepare_new_user_data(u, wiz, random_password()) + for u in wiz.user_ids if u.user_email not in existing_logins ] portal_obj.write(cr, ROOT_UID, [wiz.portal_id.id], {'users': [(0, 0, data) for data in new_users_data]}, context0)