添加功能
This commit is contained in:
@@ -655,18 +655,21 @@ class SoongWorkflowRecord(models.Model):
|
||||
is_kq_user = bool(kq_group and user in kq_group.users)
|
||||
company_ids = self.env.companies.ids
|
||||
|
||||
conditions = []
|
||||
# 注意:必须用扁平前缀形式(&/| 放在 domain 顶层),
|
||||
# 不能把 ['&', ...] 作为子列表元素,否则 Odoo 会把它当叶子、把 & 当成字段名报错。
|
||||
parts = []
|
||||
if is_hr_user:
|
||||
conditions.append(['&', ('approvals_group_id.name', '=', '人事'), ('company_id', 'in', company_ids)])
|
||||
parts.append(['&', ('approvals_group_id.name', '=', '人事'), ('company_id', 'in', company_ids)])
|
||||
if is_kq_user:
|
||||
conditions.append(['&', ('approvals_group_id.name', '=', '考勤'), ('company_id', 'in', company_ids)])
|
||||
parts.append(['&', ('approvals_group_id.name', '=', '考勤'), ('company_id', 'in', company_ids)])
|
||||
|
||||
if not conditions:
|
||||
if not parts:
|
||||
# 当前用户不属于任何特殊权限组,恒不满足
|
||||
domain = [('id', '=', False)]
|
||||
else:
|
||||
domain = ['|'] * (len(conditions) - 1)
|
||||
domain += conditions
|
||||
domain = ['|'] * (len(parts) - 1)
|
||||
for grp in parts:
|
||||
domain += grp
|
||||
|
||||
if (operator == '=' and not value) or (operator == '!=' and value):
|
||||
domain = ['!'] + domain
|
||||
|
||||
Reference in New Issue
Block a user