diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 03e86bece..6d21fe317 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -47,9 +47,15 @@ class SoongWorkflowRecord(models.Model): department_id = fields.Many2one("hr.department", string="部门", required=True) done_by = fields.Many2one(comodel_name="res.users", string="发起人") active = fields.Boolean(string="归档", default=True) + is_manager = fields.Boolean(string="是否管理员", compute='_compute_part_of_department', store=True) soong_state = fields.Selection([('to_do', '待办'), ('done', '已办')], string="流程状态", default="done") member_of_department = fields.Boolean("是否是本部门数据", compute='_compute_part_of_department', search='_search_part_of_department') + @api.depends_context('uid') + def _compute_is_manager(self): + for record in self: + record.is_manager = self.env.user.has_group('soong_workflow.group_soong_workflow_manager') + def admin_end(self): pass @@ -72,9 +78,9 @@ class SoongWorkflowRecord(models.Model): @api.depends_context('uid', 'company') - @api.depends('department_id') def _compute_part_of_department(self): user_employee = self._get_valid_employee_for_user() + self.is_manager = self.env.user.has_group('soong_workflow.group_soong_workflow_manager') active_department = user_employee.department_id parent_department = active_department.parent_id # 递归获取父部门的所有子部门 diff --git a/soong_workflow/views/soong_workflow_record.xml b/soong_workflow/views/soong_workflow_record.xml index 9e343ad66..3f921c8fa 100644 --- a/soong_workflow/views/soong_workflow_record.xml +++ b/soong_workflow/views/soong_workflow_record.xml @@ -83,7 +83,9 @@ -