From a70450c392722beb992557078d768b17f482366d Mon Sep 17 00:00:00 2001
From: ljmwkx <1340053001@qq.com>
Date: Thu, 13 Feb 2025 12:30:11 +0800
Subject: [PATCH 1/3] =?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 | 4 ++++
soong_workflow/views/soong_workflow_node_views.xml | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py
index 376d3a115..cefa71191 100644
--- a/soong_workflow/models/soong_workflow_node.py
+++ b/soong_workflow/models/soong_workflow_node.py
@@ -122,6 +122,8 @@ class SoongWorkflowNode(models.Model):
def onchange_is_end(self):
for record in self:
if record.is_end:
+ record.use_custom_colors = True
+ record.bg_color = END_BG_COLOR_1
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 = [
@@ -136,6 +138,8 @@ class SoongWorkflowNode(models.Model):
})
]
else:
+ record.use_custom_colors = True
+ record.bg_color = DEFAULT_BG_COLOR
record.res_bg_color = DEFAULT_BG_COLOR
remove_ids = record.button_ids.filtered(lambda r: r.name in ["结束"])
record.button_ids = [(3, remove_id.id) for remove_id in remove_ids]
diff --git a/soong_workflow/views/soong_workflow_node_views.xml b/soong_workflow/views/soong_workflow_node_views.xml
index f94478a9d..79ae4e364 100644
--- a/soong_workflow/views/soong_workflow_node_views.xml
+++ b/soong_workflow/views/soong_workflow_node_views.xml
@@ -238,7 +238,8 @@
-
+
+
From 13b0cdd7ae4ff2d348297577084aba1579960e82 Mon Sep 17 00:00:00 2001
From: ljmwkx <1340053001@qq.com>
Date: Thu, 13 Feb 2025 13:17:03 +0800
Subject: [PATCH 2/3] =?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.py | 16 ++++++++++++++++
.../views/kklw_workflow_approval_views.xml | 1 +
soong_workflow/views/soong_workflow_views.xml | 1 +
3 files changed, 18 insertions(+)
diff --git a/soong_workflow/models/soong_workflow.py b/soong_workflow/models/soong_workflow.py
index b5cf7f736..9de0697b9 100644
--- a/soong_workflow/models/soong_workflow.py
+++ b/soong_workflow/models/soong_workflow.py
@@ -53,6 +53,22 @@ class SoongWorkflow(models.Model):
approvals_group_id = fields.Many2one('soong.approval.group', string="审批分组")
user_role_ids = fields.Many2many('soong.user.role', string="授权范围", store=True,
default=lambda self: [(6, 0, [self.env.ref('soong_workflow.soong_user_role_workflow_admin').id])], domain=[('user_type', '!=', 'lv_role')])
+ department_role_ids = fields.Many2many('hr.department', string="授权部门范围", store=True)
+ is_user_department_role = fields.Boolean(string="是否有权限查看", search="_search_is_user_department_role")
+
+ def _search_is_user_department_role(self, operator, value):
+ id_list = []
+ if self.env.user.has_group("soong_workflow.group_soong_workflow_user"):
+ for user_role_id in self.env.user.employee_id.user_role_ids.ids:
+ id_list += self.sudo().search([("user_role_ids", "in", [user_role_id])]).ids
+
+ for department_id in self.env.user.employee_id.department_id.ids:
+ id_list += self.sudo().search([("department_role_ids", "in", [department_id])]).ids
+
+ if self.env.user.has_group("soong_workflow.group_soong_workflow_manager"):
+ id_list += self.sudo().search([()]).ids
+
+ return [('id', "in", id_list)]
def copy(self, default=None):
workflow_id = self.search([('model_id', '=', self.model_id.id)])
diff --git a/soong_workflow/views/kklw_workflow_approval_views.xml b/soong_workflow/views/kklw_workflow_approval_views.xml
index 52f5eed25..21f66eeae 100644
--- a/soong_workflow/views/kklw_workflow_approval_views.xml
+++ b/soong_workflow/views/kklw_workflow_approval_views.xml
@@ -33,5 +33,6 @@
审批
soong.workflow
kanban,tree
+ [('is_user_department_role','=',True)]
diff --git a/soong_workflow/views/soong_workflow_views.xml b/soong_workflow/views/soong_workflow_views.xml
index 56a1911f8..3442d008a 100644
--- a/soong_workflow/views/soong_workflow_views.xml
+++ b/soong_workflow/views/soong_workflow_views.xml
@@ -36,6 +36,7 @@
+
From f203ad2dc5ba3f1e5bac817e69f007df51e285eb Mon Sep 17 00:00:00 2001
From: ljmwkx <1340053001@qq.com>
Date: Thu, 13 Feb 2025 14:31:51 +0800
Subject: [PATCH 3/3] =?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.py | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/soong_workflow/models/soong_workflow.py b/soong_workflow/models/soong_workflow.py
index 9de0697b9..081f875a6 100644
--- a/soong_workflow/models/soong_workflow.py
+++ b/soong_workflow/models/soong_workflow.py
@@ -54,20 +54,19 @@ class SoongWorkflow(models.Model):
user_role_ids = fields.Many2many('soong.user.role', string="授权范围", store=True,
default=lambda self: [(6, 0, [self.env.ref('soong_workflow.soong_user_role_workflow_admin').id])], domain=[('user_type', '!=', 'lv_role')])
department_role_ids = fields.Many2many('hr.department', string="授权部门范围", store=True)
- is_user_department_role = fields.Boolean(string="是否有权限查看", search="_search_is_user_department_role")
+ is_user_department_role = fields.Boolean(string="是否有权限查看", store=False, search="_search_is_user_department_role")
def _search_is_user_department_role(self, operator, value):
id_list = []
if self.env.user.has_group("soong_workflow.group_soong_workflow_user"):
for user_role_id in self.env.user.employee_id.user_role_ids.ids:
- id_list += self.sudo().search([("user_role_ids", "in", [user_role_id])]).ids
+ id_list += self.sudo().with_context(active_test=False).search([("user_role_ids", "in", [user_role_id])]).ids
for department_id in self.env.user.employee_id.department_id.ids:
- id_list += self.sudo().search([("department_role_ids", "in", [department_id])]).ids
+ id_list += self.sudo().with_context(active_test=False).search([("department_role_ids", "in", [department_id])]).ids
if self.env.user.has_group("soong_workflow.group_soong_workflow_manager"):
- id_list += self.sudo().search([()]).ids
-
+ id_list += self.sudo().with_context(active_test=False).search([]).ids
return [('id', "in", id_list)]
def copy(self, default=None):