diff --git a/soong_workflow/models/soong_workflow.py b/soong_workflow/models/soong_workflow.py index 573f9c08a..be889b2fa 100644 --- a/soong_workflow/models/soong_workflow.py +++ b/soong_workflow/models/soong_workflow.py @@ -87,7 +87,19 @@ class SoongWorkflow(models.Model): note_text_to_rec[opinion_text] = note_rec node.write({field_name: note_rec.id}) - + def update_confirm(self): + soong_ids = self.env["soong.workflow"].browse( + self._context.get('active_ids', self._context.get('active_id')) + ) + for node in soong_ids.node_ids: + confirm_buttons = node.button_ids.filtered(lambda btn: btn.name == '确认') + if not confirm_buttons: + self.env['soong.workflow.node.button'].create({ + 'node_id': node.id, + 'name': '确认', + 'action_type': 'code', + "has_comment": True + }) def change_opinions_wizard(self): soong_ids = self.env["soong.workflow"].browse( diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py index b295d867b..d90520cc0 100644 --- a/soong_workflow/models/soong_workflow_node.py +++ b/soong_workflow/models/soong_workflow_node.py @@ -260,8 +260,15 @@ class SoongWorkflowNode(models.Model): "workflow_id": record.workflow_id.id, "sequence": 2, "action_type": "code", + "has_comment": True}), + (0, 0, { + "name": _("确认"), + "workflow_id": record.workflow_id.id, + "sequence": 2, + "action_type": "code", "has_comment": True}) ]}) + # 运行时执行加载所有form,并且只读 model_id = self.env['soong.workflow'].search([('id', '=', record.workflow_id.id), ('is_enable', '=', True)]).model_id form_view = self.env["ir.ui.view"].search([("model", "=", model_id.model), ("type", "=", "form")], limit=1) diff --git a/soong_workflow/views/soong_workflow_views.xml b/soong_workflow/views/soong_workflow_views.xml index 9411c2e30..555bb8652 100644 --- a/soong_workflow/views/soong_workflow_views.xml +++ b/soong_workflow/views/soong_workflow_views.xml @@ -122,4 +122,11 @@ code action = model.change_opinions_wizard() + + 一次性 + + + code + action = model.update_confirm() +