diff --git a/yuthon_issue/models/soong_workflow_mixin_inherit.py b/yuthon_issue/models/soong_workflow_mixin_inherit.py index 933aec14f..24fe3ef47 100644 --- a/yuthon_issue/models/soong_workflow_mixin_inherit.py +++ b/yuthon_issue/models/soong_workflow_mixin_inherit.py @@ -14,6 +14,7 @@ class SoongWorkflowMixin(models.AbstractModel): def _add_comment(self, logs, btn_rec): res = super()._add_comment(logs, btn_rec) avoid_issue_ids = self._get_avoid_issue_ids() - res['context']['default_allowed_issue_ids'] = [(6, 0, avoid_issue_ids)] - res['context']['default_issue_filter_ids'] = [(6, 0, avoid_issue_ids)] + # default_XXX 对于 Many2many 字段,直接传 id 列表即可 + res['context']['default_allowed_issue_ids'] = avoid_issue_ids + res['context']['default_issue_filter_ids'] = avoid_issue_ids return res diff --git a/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.py b/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.py index d74ab4ab7..802176f96 100644 --- a/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.py +++ b/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.py @@ -8,6 +8,8 @@ class SoongWorkflowCommentWizard(models.TransientModel): is_avoid = fields.Boolean(string='是否回避') allowed_issue_ids = fields.Many2many('issue.library', 'soong_comment_wizard_allowed_issue_rel', 'wizard_id', 'issue_id', string='可选议题') + issue_filter_ids = fields.Many2many('issue.library', 'soong_comment_wizard_issue_filter_rel', + 'wizard_id', 'issue_id', string='议题过滤') avoid_issue_ids = fields.Many2many('issue.library', 'soong_comment_wizard_avoid_issue_rel', 'wizard_id', 'issue_id', string='回避议题') avoid_comment = fields.Char(string='回避意见') diff --git a/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.xml b/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.xml index 949954707..ba0b8dc36 100644 --- a/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.xml +++ b/yuthon_issue/wizard/soong_workflow_comment_wizard_inherit.xml @@ -11,16 +11,20 @@ + + invisible="not is_avoid" options="{'no_create': True}" + domain="[('id', 'in', issue_filter_ids)]"/> + + invisible="not is_avoid" options="{'no_create': True}" + domain="[('id', 'in', issue_filter_ids)]"/>