@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user