From 37d9fc43b50a70afdec02fe07e9aae7ec4388d75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Wed, 10 Jun 2026 20:40:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=92=8C=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wizard/soong_workflow_comment_wizard.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index 6eb96f26f..974f11e94 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -5,6 +5,7 @@ from email.policy import default from odoo import fields, models, api from odoo.exceptions import UserError, ValidationError from datetime import datetime, date, time, timedelta +from lxml import etree import logging _logger = logging.getLogger(__name__) @@ -48,9 +49,17 @@ class SoongWorkflowCommentWizard(models.TransientModel): if not self.is_avoid: self.avoid_issue_ids = [(5, 0, 0)] self.avoid_comment = False - else: - domain = [('id', 'in', self.allowed_issue_ids.ids)] if self.allowed_issue_ids else [('id', '=', False)] - return {'domain': {'avoid_issue_ids': domain}} + + @api.model + def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False): + res = super(SoongWorkflowCommentWizard, self).fields_view_get( + view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu) + if view_type == 'form': + doc = etree.fromstring(res['arch']) + for node in doc.xpath("//field[@name='avoid_issue_ids']"): + node.set('domain', "[('id', 'in', allowed_issue_ids)]") + res['arch'] = etree.tostring(doc, encoding='unicode') + return res def _handle_avoidance(self): """回避处理:勾选回避且选了议题时,在对应议题中记录回避"""