议题和流程

This commit is contained in:
李鹏宇
2026-06-10 22:22:58 +08:00
parent 74fe24d377
commit 61f4a5fb65
3 changed files with 11 additions and 4 deletions
@@ -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
@@ -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='回避意见')
@@ -11,16 +11,20 @@
<field name="is_avoid"
invisible="res_model not in ['issue.party.approval', 'issue.boss.approval', 'issue.class.approval']"/>
<field name="allowed_issue_ids" invisible="1"/>
<field name="issue_filter_ids" invisible="1"/>
<field name="avoid_issue_ids" widget="many2many_tags"
invisible="not is_avoid" options="{'no_create': True}"/>
invisible="not is_avoid" options="{'no_create': True}"
domain="[('id', 'in', issue_filter_ids)]"/>
<field name="avoid_comment" invisible="not is_avoid" placeholder="请输入回避意见..."/>
</xpath>
<!-- 结束区域:插入 avoid 字段 -->
<xpath expr="//group[.//field[@name='document_ids']]/preceding-sibling::div//field[@name='comment_note']" position="after">
<field name="allowed_issue_ids" invisible="1"/>
<field name="issue_filter_ids" invisible="1"/>
<field name="avoid_issue_ids" widget="many2many_tags"
invisible="not is_avoid" options="{'no_create': True}"/>
invisible="not is_avoid" options="{'no_create': True}"
domain="[('id', 'in', issue_filter_ids)]"/>
<field name="avoid_comment" invisible="not is_avoid" placeholder="请输入回避意见..."/>
</xpath>