diff --git a/soong_workflow/models/soong_user_role.py b/soong_workflow/models/soong_user_role.py index 122de7d42..fbcefa268 100644 --- a/soong_workflow/models/soong_user_role.py +++ b/soong_workflow/models/soong_user_role.py @@ -22,6 +22,28 @@ class YuthonUserRole(models.Model): employee_ids = fields.One2many('hr.employee', 'user_role_id') company_id = fields.Many2one('res.company', string="公司", default=lambda self: self.env.company) pinyin_name = fields.Char(string="拼音名称", compute='_compute_pinyin', index=True) + is_company = fields.Boolean(string="本公司", default=True, compute='_compute_is_company') + + @api.depends_context('uid', 'company') + @api.depends('company_id') + def _compute_is_company(self): + user_employee = self._get_valid_employee_for_user() + active_company_id = user_employee.company_id + for employee in self: + if active_company_id.name == '天河投资集团': + employee.is_company = True + else: + employee.is_company = employee.company_id == active_company_id + + def _get_valid_employee_for_user(self): + user = self.env.user + employee = user.employee_ids + if not employee: + user_employees = user.employee_id.sudo().search([ + ('user_id', '=', user.id) + ]) + employee = user_employees.filtered(lambda r: r.company_id == user.company_id) or user_employees[:1] + return employee @api.onchange('is_main') def _onchange_is_main(self): diff --git a/soong_workflow/templates/soong_workflow_templates.xml b/soong_workflow/templates/soong_workflow_templates.xml index 0a7aff961..fa7b81a43 100644 --- a/soong_workflow/templates/soong_workflow_templates.xml +++ b/soong_workflow/templates/soong_workflow_templates.xml @@ -2,7 +2,7 @@