议题和流程

This commit is contained in:
李鹏宇
2026-06-10 20:55:26 +08:00
parent e4cc35136a
commit 2672524def
2 changed files with 5 additions and 15 deletions
@@ -849,7 +849,7 @@ 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": repr([('id', 'in', avoid_issue_ids)]) if avoid_issue_ids else repr([('id', '=', False)]),
"avoid_issue_ids_list": avoid_issue_ids,
},
}
@@ -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,19 +48,10 @@ class SoongWorkflowCommentWizard(models.TransientModel):
if not self.is_avoid:
self.avoid_issue_ids = [(5, 0, 0)]
self.avoid_comment = False
@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
else:
ids = self._context.get('avoid_issue_ids_list', [])
if ids:
return {'domain': {'avoid_issue_ids': [('id', 'in', ids)]}}
def _handle_avoidance(self):
"""回避处理:勾选回避且选了议题时,在对应议题中记录回避"""