From 4c5da18b7ccfce8287bf1ce242c32a15bb423238 Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Tue, 27 May 2025 19:42:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_user_role.py | 22 ++++++++++++++++ .../templates/soong_workflow_templates.xml | 8 +++--- .../views/soong_user_role_views.xml | 2 ++ yuthon_holiday/models/inherit_hr_leave.py | 2 +- .../models/yuthon_shift_approval.py | 10 ++++++++ .../security/ir.model.access.csv | 1 - .../views/yuthon_shift_approval_views.xml | 25 ++++++++++++++++--- .../models/yuthon_hr_department.py | 22 ++++++++++++++++ .../models/yuthon_hr_employee.py | 23 +++++++++++++++++ .../views/yuthon_hr_department_views.xml | 4 +-- .../views/yuthon_hr_employee_views.xml | 3 +++ .../models/yuthon_offficial_incoming_party.py | 2 +- yuthon_official/models/yuthon_official.py | 2 +- .../models/yuthon_official_incoming_labor.py | 2 +- .../models/yuthon_official_incoming_normal.py | 5 +--- .../models/yuthon_official_labor.py | 2 +- .../models/yuthon_official_party.py | 2 +- .../yuthon_official_incoming_normal_views.xml | 5 +--- 18 files changed, 116 insertions(+), 26 deletions(-) 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 @@