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