feat: prioritize company named OT when setting default company for portal users

This commit is contained in:
Suherdy Yacob 2026-06-13 17:41:47 +07:00
parent 5da11587d2
commit 21425a5cbf

View File

@ -7,8 +7,10 @@ class ResUsers(models.Model):
portal_template = self.env.ref('base.template_portal_user_id', raise_if_not_found=False) portal_template = self.env.ref('base.template_portal_user_id', raise_if_not_found=False)
if portal_template and self.id == portal_template.id: if portal_template and self.id == portal_template.id:
default = default or {} default = default or {}
# Find first active company # Find OT company or fallback to first active company
active_company = self.env['res.company'].search([('active', '=', True)], limit=1) active_company = self.env['res.company'].search([('name', '=', 'OT')], limit=1)
if not active_company:
active_company = self.env['res.company'].search([('active', '=', True)], limit=1)
if active_company: if active_company:
default['company_id'] = active_company.id default['company_id'] = active_company.id
default['company_ids'] = [(6, 0, [active_company.id])] default['company_ids'] = [(6, 0, [active_company.id])]
@ -17,7 +19,9 @@ class ResUsers(models.Model):
@api.model_create_multi @api.model_create_multi
def create(self, vals_list): def create(self, vals_list):
portal_group = self.env.ref('base.group_portal', raise_if_not_found=False) portal_group = self.env.ref('base.group_portal', raise_if_not_found=False)
active_company = self.env['res.company'].search([('active', '=', True)], limit=1) active_company = self.env['res.company'].search([('name', '=', 'OT')], limit=1)
if not active_company:
active_company = self.env['res.company'].search([('active', '=', True)], limit=1)
for vals in vals_list: for vals in vals_list:
is_portal = False is_portal = False
@ -46,7 +50,9 @@ class ResUsers(models.Model):
if 'company_id' in vals: if 'company_id' in vals:
company = self.env['res.company'].browse(vals['company_id']) company = self.env['res.company'].browse(vals['company_id'])
if not company.active: if not company.active:
active_company = self.env['res.company'].search([('active', '=', True)], limit=1) active_company = self.env['res.company'].search([('name', '=', 'OT')], limit=1)
if not active_company:
active_company = self.env['res.company'].search([('active', '=', True)], limit=1)
if active_company: if active_company:
vals['company_id'] = active_company.id vals['company_id'] = active_company.id
if 'company_ids' not in vals: if 'company_ids' not in vals: