From 015714cd510e42a4d8f98b2ad8d1ad87c77260c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
<9664676+pengyuthon@user.noreply.gitee.com>
Date: Wed, 10 Jun 2026 19:17:48 +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
---
soong_workflow/models/soong_workflow_mixin.py | 7 +++++++
.../wizard/soong_workflow_comment_wizard.py | 13 -------------
.../wizard/soong_workflow_comment_wizard_view.xml | 3 +--
3 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py
index 644426afc..3190ca1ed 100644
--- a/soong_workflow/models/soong_workflow_mixin.py
+++ b/soong_workflow/models/soong_workflow_mixin.py
@@ -846,9 +846,16 @@ class SoongWorkflowMixin(models.AbstractModel):
"default_trans_link_id": default_trans_link_id,
"all_workflow_links": allowed_link_ids,
"default_invalid_link_ids": invalid_links.ids,
+ "default_allowed_issue_ids": [(6, 0, self._get_avoid_issue_ids())],
},
}
+ def _get_avoid_issue_ids(self):
+ """获取当前记录中可回避的议题ID列表"""
+ if hasattr(self, 'line_ids'):
+ return self.line_ids.mapped('issue_id').ids
+ return []
+
def get_all_sub_departments(self, department, level=0, print_tree=True):
all_departments = department.child_ids
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index 0d83ddb05..2a977fc67 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -49,19 +49,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
self.avoid_issue_ids = [(5, 0, 0)]
self.avoid_comment = False
- @api.onchange('avoid_issue_ids')
- def _onchange_avoid_issue_ids(self):
- if self.avoid_issue_ids and self.allowed_issue_ids:
- invalid = self.avoid_issue_ids - self.allowed_issue_ids
- if invalid:
- self.avoid_issue_ids = [(6, 0, (self.avoid_issue_ids - invalid).ids)]
- return {
- 'warning': {
- 'title': '无效议题',
- 'message': f'以下议题不在当前申报范围内,已自动移除:{", ".join(invalid.mapped("name"))}',
- }
- }
-
@api.onchange('is_avoid')
def _onchange_is_avoid(self):
if not self.is_avoid:
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
index 0d15a5b36..dbb9e39b5 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
@@ -145,8 +145,7 @@
+ invisible="not is_avoid" options="{'no_create': True}"/>