[FIX] portal: search portal user according login=email
bzr revid: hmo@tinyerp.com-20120703175351-vnsp18pay8xd6xvf
This commit is contained in:
parent
c0b4cb38be
commit
bb706812b7
|
@ -119,7 +119,7 @@ class wizard(osv.osv_memory):
|
||||||
def _search_portal_user(self, cr, uid, partner_id, portal_id, context=None):
|
def _search_portal_user(self, cr, uid, partner_id, portal_id, context=None):
|
||||||
portal_users = self.pool.get('res.portal').browse(cr, uid, portal_id, context=context).group_id.users
|
portal_users = self.pool.get('res.portal').browse(cr, uid, portal_id, context=context).group_id.users
|
||||||
partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
|
partner = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
|
||||||
user_ids = self.pool.get('res.users').search(cr, uid, [('partner_id','=', partner.id)])
|
user_ids = self.pool.get('res.users').search(cr, uid, [('login','=', partner.email)])
|
||||||
return [u.id for u in portal_users if u.id in user_ids]
|
return [u.id for u in portal_users if u.id in user_ids]
|
||||||
|
|
||||||
def _portal_user_dict(self, cr, uid, partner, portal_id, context=None):
|
def _portal_user_dict(self, cr, uid, partner, portal_id, context=None):
|
||||||
|
@ -131,23 +131,23 @@ class wizard(osv.osv_memory):
|
||||||
if partner.child_ids:
|
if partner.child_ids:
|
||||||
return res
|
return res
|
||||||
|
|
||||||
#if partner.parent_id:
|
if partner.parent_id:
|
||||||
# lang = partner.parent_id.lang or 'en_US'
|
lang = partner.parent_id.lang or 'en_US'
|
||||||
# company_id = partner.parent_id.id
|
company_id = partner.parent_id.id
|
||||||
#else:
|
else:
|
||||||
# lang = partner.lang or 'en_US'
|
lang = partner.lang or 'en_US'
|
||||||
# company_id = partner.id
|
company_id = partner.id
|
||||||
user = False
|
user = False
|
||||||
portal_user_ids = self._search_portal_user(cr, uid, partner.id, portal_id, context=context)
|
portal_user_ids = self._search_portal_user(cr, uid, partner.id, portal_id, context=context)
|
||||||
user_id = len(portal_user_ids) and portal_user_ids[0] or False
|
user_id = len(portal_user_ids) and portal_user_ids[0] or False
|
||||||
if user_id:
|
if user_id:
|
||||||
user = self.pool.get('res.users').browse(cr, uid, user_id, context=context)
|
user = self.pool.get('res.users').browse(cr, uid, user_id, context=context)
|
||||||
email = user and user.user_email or partner.email
|
email = partner.email
|
||||||
users = [{
|
users = [{
|
||||||
'name': user and user.name or partner.name,
|
'name': partner.name,
|
||||||
'user_email': extract_email(email),
|
'user_email': extract_email(email),
|
||||||
'lang': partner.lang or 'en_US',
|
'lang': lang or 'en_US',
|
||||||
'partner_id': partner.id,
|
'partner_id': company_id,
|
||||||
'has_portal_user': user_id and True or False,
|
'has_portal_user': user_id and True or False,
|
||||||
'user_id': user_id
|
'user_id': user_id
|
||||||
}]
|
}]
|
||||||
|
@ -259,8 +259,8 @@ class wizard_user(osv.osv_memory):
|
||||||
res_user = self.pool.get('res.users')
|
res_user = self.pool.get('res.users')
|
||||||
portal = portal_user.wizard_id.portal_id
|
portal = portal_user.wizard_id.portal_id
|
||||||
action_id = portal.home_action_id and portal.home_action_id.id or False
|
action_id = portal.home_action_id and portal.home_action_id.id or False
|
||||||
partner_id = portal_user.partner_id and portal_user.partner_id.id
|
partner = portal_user.partner_id and portal_user.partner_id
|
||||||
user_ids = res_user.search(cr, uid, [('partner_id','=',partner_id)])
|
user_ids = res_user.search(cr, uid, [('login','=',partner.email)])
|
||||||
user_id = False
|
user_id = False
|
||||||
if user_ids and len(user_ids):
|
if user_ids and len(user_ids):
|
||||||
user_id = user_ids[0]
|
user_id = user_ids[0]
|
||||||
|
@ -273,7 +273,7 @@ class wizard_user(osv.osv_memory):
|
||||||
'context_lang': portal_user.lang,
|
'context_lang': portal_user.lang,
|
||||||
'share': True,
|
'share': True,
|
||||||
'action_id': action_id,
|
'action_id': action_id,
|
||||||
'partner_id': partner_id,
|
'partner_id': partner.id,
|
||||||
'groups_id': [(6, 0, [])],
|
'groups_id': [(6, 0, [])],
|
||||||
}
|
}
|
||||||
user_id = res_user.create(cr, ROOT_UID, value, context=context)
|
user_id = res_user.create(cr, ROOT_UID, value, context=context)
|
||||||
|
|
Loading…
Reference in New Issue