From 5ad964d165d0af46a9565b34dd8878121c3a395d Mon Sep 17 00:00:00 2001 From: ljmwkx <1340053001@qq.com> Date: Wed, 12 Feb 2025 14:39:14 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=80=E7=89=88?= =?UTF-8?q?=E6=9C=AC=20=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_node.py | 17 +++++++++-------- .../views/soong_workflow_node_views.xml | 5 ----- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py index 3733a9e30..cd58a395b 100644 --- a/soong_workflow/models/soong_workflow_node.py +++ b/soong_workflow/models/soong_workflow_node.py @@ -95,10 +95,10 @@ class SoongWorkflowNode(models.Model): for record in self: if record.is_apostille: sequence = max([r.sequence for r in record.button_ids] if record.button_ids else [1]) - record.button_ids = [ + record.write({"button_ids": [ (0, 0, { "name": _("加签"), - "workflow_id": record.workflow_id, + # "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None, "node_id": record.id, "sequence": sequence + 1, "action_type": "apostille", @@ -106,14 +106,14 @@ class SoongWorkflowNode(models.Model): }), (0, 0, { "name": _("加签确认"), - "workflow_id": record.workflow_id, + # "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None, "node_id": record.id, "sequence": sequence + 2, "action_type": "apostille", "btn_hide": True, # 仅对加签人员显示 "review_type": "apostille", }) - ] + ]}) else: remove_ids = record.button_ids.filtered(lambda r: r.name in ["加签", "加签确认"]) record.button_ids = [(3, remove_id.id) for remove_id in remove_ids] @@ -124,17 +124,17 @@ class SoongWorkflowNode(models.Model): if record.is_end: record.res_bg_color = END_BG_COLOR_1 sequence = max([r.sequence for r in record.button_ids] if record.button_ids else [1]) - record.button_ids = [ + record.write({"button_ids": [ (0, 0, { "name": _("结束"), - "workflow_id": record.workflow_id, + # "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None, "node_id": record.id, "sequence": sequence + 1, "action_type": "end", "btn_hide": False, # 对所有人显示 "review_type": "end", }) - ] + ]}) else: record.res_bg_color = DEFAULT_BG_COLOR remove_ids = record.button_ids.filtered(lambda r: r.name in ["结束"]) @@ -374,7 +374,8 @@ class SoongWorkflowNodeButton(models.Model): workflow_id = fields.Many2one( "soong.workflow", string="Workflow Ref.", - required=True, + # required=True, + related="node_id.workflow_id", ondelete="cascade", ) invisible_expression_model = fields.Char(related="workflow_id.model_id.model") diff --git a/soong_workflow/views/soong_workflow_node_views.xml b/soong_workflow/views/soong_workflow_node_views.xml index fc762866a..594921c2d 100644 --- a/soong_workflow/views/soong_workflow_node_views.xml +++ b/soong_workflow/views/soong_workflow_node_views.xml @@ -188,11 +188,6 @@ options="{'mode': 'python'}" nolabel="1"/> - Date: Wed, 12 Feb 2025 14:44:01 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=80=E7=89=88?= =?UTF-8?q?=E6=9C=AC=20=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_node.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py index cd58a395b..e13dcb729 100644 --- a/soong_workflow/models/soong_workflow_node.py +++ b/soong_workflow/models/soong_workflow_node.py @@ -95,7 +95,7 @@ class SoongWorkflowNode(models.Model): for record in self: if record.is_apostille: sequence = max([r.sequence for r in record.button_ids] if record.button_ids else [1]) - record.write({"button_ids": [ + record.button_ids = [ (0, 0, { "name": _("加签"), # "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None, @@ -113,7 +113,7 @@ class SoongWorkflowNode(models.Model): "btn_hide": True, # 仅对加签人员显示 "review_type": "apostille", }) - ]}) + ] else: remove_ids = record.button_ids.filtered(lambda r: r.name in ["加签", "加签确认"]) record.button_ids = [(3, remove_id.id) for remove_id in remove_ids] @@ -124,7 +124,7 @@ class SoongWorkflowNode(models.Model): if record.is_end: record.res_bg_color = END_BG_COLOR_1 sequence = max([r.sequence for r in record.button_ids] if record.button_ids else [1]) - record.write({"button_ids": [ + record.button_ids = [ (0, 0, { "name": _("结束"), # "workflow_id": record.workflow_id.ids[0] if record.workflow_id.ids else None, @@ -134,7 +134,7 @@ class SoongWorkflowNode(models.Model): "btn_hide": False, # 对所有人显示 "review_type": "end", }) - ]}) + ] else: record.res_bg_color = DEFAULT_BG_COLOR remove_ids = record.button_ids.filtered(lambda r: r.name in ["结束"]) From ede978454b1cc5db46aeaebde1e7d3ce85787275 Mon Sep 17 00:00:00 2001 From: ljmwkx <1340053001@qq.com> Date: Wed, 12 Feb 2025 14:47:01 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=80=E7=89=88?= =?UTF-8?q?=E6=9C=AC=20=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_node.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py index e13dcb729..8bf809b84 100644 --- a/soong_workflow/models/soong_workflow_node.py +++ b/soong_workflow/models/soong_workflow_node.py @@ -374,7 +374,8 @@ class SoongWorkflowNodeButton(models.Model): workflow_id = fields.Many2one( "soong.workflow", string="Workflow Ref.", - # required=True, + required=True, + store=True, related="node_id.workflow_id", ondelete="cascade", ) From 9b667d3fdc7cde48d36eeba55f710e9a17b116bb Mon Sep 17 00:00:00 2001 From: ljmwkx <1340053001@qq.com> Date: Wed, 12 Feb 2025 15:45:42 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=80=E7=89=88?= =?UTF-8?q?=E6=9C=AC=20=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_node.py | 13 +++++++++++++ soong_workflow/views/soong_workflow_node_views.xml | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py index 8bf809b84..f44189ef8 100644 --- a/soong_workflow/models/soong_workflow_node.py +++ b/soong_workflow/models/soong_workflow_node.py @@ -140,6 +140,19 @@ class SoongWorkflowNode(models.Model): remove_ids = record.button_ids.filtered(lambda r: r.name in ["结束"]) record.button_ids = [(3, remove_id.id) for remove_id in remove_ids] + def btn_role_sync(self): + for record in self: + now_btn = record.button_ids.filtered(lambda r: r.name in ["转交"]) + for btn in now_btn: + other_btn = record.button_ids.filtered(lambda r: r.name not in ["转交"]) + other_btn.write({ + "btn_hide": btn.btn_hide, + "review_type": btn.review_type, + "reviewer_id": btn.reviewer_id.id, + "reviewer_group_id": btn.reviewer_group_id.id, + "users_role_id": btn.users_role_id.id + }) + @api.model_create_multi def create(self, values): diff --git a/soong_workflow/views/soong_workflow_node_views.xml b/soong_workflow/views/soong_workflow_node_views.xml index 594921c2d..f94478a9d 100644 --- a/soong_workflow/views/soong_workflow_node_views.xml +++ b/soong_workflow/views/soong_workflow_node_views.xml @@ -42,6 +42,10 @@ +