From 3bd9bdaf1922934e25284f138a335c725d439c2e Mon Sep 17 00:00:00 2001 From: zhou <123@> Date: Fri, 25 Jul 2025 22:57:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/soong_workflow_record.py | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 3dbcd4112..c2ac7f2c3 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -54,15 +54,17 @@ class SoongWorkflowRecord(models.Model): self._context.get('active_ids', self._context.get('active_id', [])) ) for record in record_ids: - if record.employee_ids: - user_ids = [emp.user_id.id for emp in record.employee_ids if emp.user_id] - if record.res_model and record.res_id: - related_record = self.env[record.res_model].browse(record.res_id) - if hasattr(related_record, 'self_users_ids'): - if user_ids: - related_record.self_users_ids = [(6, 0, user_ids)] - else: - related_record.self_users_ids = [(5,)] + if record.res_model and record.res_id: + related_record = self.env[record.res_model].sudo().browse(record.res_id) + if related_record.exists(): + if record.employee_ids: + user_ids = [emp.user_id.id for emp in record.employee_ids if emp.user_id] + # 确认关联记录有self_users_ids字段再更新 + if hasattr(related_record, 'self_users_ids'): + if user_ids: + related_record.self_users_ids = [(6, 0, user_ids)] + else: + related_record.self_users_ids = [(5,)] @api.depends_context('uid', 'company')