diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 7eb1787a4..1b21a88e2 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -826,7 +826,6 @@ class SoongWorkflowMixin(models.AbstractModel): default_trans_link_id = allowed_link_ids[0] if allowed_link_ids else trans_link_id avoid_issue_ids = self._get_avoid_issue_ids() - avoid_domain = repr([('id', 'in', avoid_issue_ids)]) if avoid_issue_ids else repr([('id', '=', False)]) return { "name": _("评论"), @@ -850,7 +849,6 @@ class SoongWorkflowMixin(models.AbstractModel): "all_workflow_links": allowed_link_ids, "default_invalid_link_ids": invalid_links.ids, "default_allowed_issue_ids": [(6, 0, avoid_issue_ids)], - "avoid_issue_domain": avoid_domain, }, } diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index 7d4442b41..94c32a7e2 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -5,7 +5,6 @@ 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__) @@ -49,6 +48,9 @@ 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.onchange('is_avoid') def _onchange_is_avoid(self): @@ -63,19 +65,6 @@ class SoongWorkflowCommentWizard(models.TransientModel): for issue in self.avoid_issue_ids: issue.log_avoidance(self.env.user, self.avoid_comment or '') - @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': - domain_str = self._context.get('avoid_issue_domain') - if domain_str: - doc = etree.fromstring(res['arch']) - for node in doc.xpath("//field[@name='avoid_issue_ids']"): - node.set('domain', domain_str) - res['arch'] = etree.tostring(doc, encoding='unicode') - return res - document_ids = fields.Many2many('ir.attachment', string="附件") return_link_id = fields.Many2one('trans.link', string='退回节点', ondelete='set null') invalid_link_ids = fields.Many2many(