odoo/ext/3rd-party-addons/website_multi_company/models/res_users.py

34 lines
842 B
Python

from odoo import models, api
class ResUsers(models.Model):
_inherit = 'res.users'
@api.multi
def switch_multi_company(self, company):
"""
:returns: Is company set to new value
"""
self.ensure_one()
user = self
if user.company_id == company:
return True
update_company = True
if company in user.company_ids:
pass
elif user.has_group('base.group_user'):
# User is internal and doesn't have access to that company
update_company = False
else:
# User is a portal user -- update his allowed companies
user.write({
'company_ids': [(4, company.id, 0)]
})
if update_company:
user.company_id = company
return update_company