!1486 提交一版本 测试

Merge pull request !1486 from dev_ljm_20241129
This commit is contained in:
ljm
2025-02-13 06:33:13 +00:00
committed by Gitee
5 changed files with 23 additions and 1 deletions
+15
View File
@@ -53,6 +53,21 @@ 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="是否有权限查看", 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().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().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().with_context(active_test=False).search([]).ids
return [('id', "in", id_list)]
def copy(self, default=None):
workflow_id = self.search([('model_id', '=', self.model_id.id)])
@@ -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]
@@ -33,5 +33,6 @@
<field name="name">审批</field>
<field name="res_model">soong.workflow</field>
<field name="view_mode">kanban,tree</field>
<field name="domain">[('is_user_department_role','=',True)]</field>
</record>
</odoo>
@@ -238,7 +238,8 @@
<field name="name"/>
<field name="action_type"/>
<field name="is_highlight"/>
<field name="node_id" invisible="1"/>
<field name="node_id" column_invisible="1"/>
<field name="users_role_id" />
</tree>
</field>
</record>
@@ -36,6 +36,7 @@
<field name="is_enable"/>
<field name="approvals_group_id"/>
<field name="user_role_ids" widget="many2many_tags"/>
<field name="department_role_ids" widget="many2many_tags"/>
</group>
</group>
<notebook>