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}"/>