!12549 添加功能

Merge pull request !12549 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2026-08-04 08:34:47 +00:00
committed by Gitee
2 changed files with 29 additions and 1 deletions
@@ -75,6 +75,12 @@ class SoongWorkflowRecord(models.Model):
search='_search_special_member_visible',
help="当前用户属于『本部-角色-人事专员』或『考勤-用户』用户组时,可查看对应的(仅本公司的)人事/考勤流程",
)
dept_query_visible = fields.Boolean(
"部门查询可见(排除考勤/人事)",
compute='_compute_dept_query_visible',
search='_search_dept_query_visible',
help="本部门可见,但排除审批分组为考勤/人事的流程(二者仅对特殊权限组可见)",
)
# 人力资源流程的发生日期
workflow_happen_date = fields.Date(string="发生日期")
@@ -666,6 +672,28 @@ class SoongWorkflowRecord(models.Model):
domain = ['!'] + domain
return domain
# ------------------------------------------------------------------
# 部门查询可见(排除考勤/人事):本部门数据 且 审批分组不是考勤/人事
# ------------------------------------------------------------------
@api.depends_context('uid', 'company')
@api.depends('member_of_department', 'approvals_group_id')
def _compute_dept_query_visible(self):
for record in self:
record.dept_query_visible = bool(
record.member_of_department
and record.approvals_group_id
and record.approvals_group_id.name not in ('考勤', '人事')
)
def _search_dept_query_visible(self, operator, value):
# 本部门数据 且 审批分组不是考勤/人事(member_of_department 由 search 方法内联展开,无嵌套)
domain = ['&',
('approvals_group_id.name', 'not in', ['考勤', '人事']),
('member_of_department', '=', True)]
if (operator == '=' and not value) or (operator == '!=' and value):
domain = ['!'] + domain
return domain
@api.model
def create(self, vals_list):
res = super().create(vals_list)
@@ -465,7 +465,7 @@
'|',
'|',
('users_ids', 'in', [uid]),
['&', ('member_of_department', '=', True), ('approvals_group_id.name', 'not in', ['考勤', '人事'])],
('dept_query_visible', '=', True),
('special_member_visible', '=', True)
]</field>
<field name="context">{'search_default_my_department_shifts': True, 'default_order': 'display_end_time desc'}</field>