@@ -173,17 +173,9 @@ class SoongWorkflowRecord(models.Model):
|
||||
'employee2_ids')
|
||||
def _compute_is_to_do(self):
|
||||
current_uid = self.env.user.id
|
||||
# 关键修改:不再查users_ids,改为查当前用户对应的hr.employee记录
|
||||
current_employee = self.env['hr.employee'].search([('user_id', '=', current_uid)], limit=1)
|
||||
if not current_employee:
|
||||
# 若当前用户无对应员工记录,所有记录均为非待办
|
||||
for rec in self:
|
||||
rec.is_to_do = False
|
||||
return
|
||||
# 初始化所有记录为非待办(上下文流畅,保留原有初始化逻辑)
|
||||
self.is_to_do = False
|
||||
valid_records = self.filtered(
|
||||
lambda r: (current_employee.id in r.employee_ids.ids or current_employee.id in r.employee2_ids.ids)
|
||||
lambda r: (current_uid in r.users_ids.ids)
|
||||
and not r.reclaim_state
|
||||
)
|
||||
if not valid_records:
|
||||
@@ -228,13 +220,8 @@ class SoongWorkflowRecord(models.Model):
|
||||
|
||||
def _search_is_to_do(self, operator, value):
|
||||
current_uid = self.env.user.id
|
||||
current_employee = self.env['hr.employee'].search([('user_id', '=', current_uid)], limit=1)
|
||||
if not current_employee:
|
||||
return [('id', '=', False)]
|
||||
base_domain = [
|
||||
'|',
|
||||
('employee_ids', 'in', [current_employee.id]),
|
||||
('employee2_ids', 'in', [current_employee.id]),
|
||||
('users_ids', 'in', current_uid),
|
||||
('reclaim_state', '=', False)
|
||||
]
|
||||
candidate_records = self.search(base_domain)
|
||||
|
||||
Reference in New Issue
Block a user