!2895 添加功能

Merge pull request !2895 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-05-27 07:51:22 +00:00
committed by Gitee
3 changed files with 24 additions and 14 deletions
+21 -11
View File
@@ -131,19 +131,29 @@ class SoongWorkflowMixin(models.AbstractModel):
for record in res:
button_ids = record.sudo().workflow_id.node_ids.button_ids.search([('workflow_id', '=', res.workflow_id.id), ('sequence', '=', 1)])
for button_id in button_ids:
if button_id.users_role_id and record.env.user.employee_id.department_id:
if record.env.user.employee_id.department_id:
if not button_id.is_automatic:
employee_ids = record.sudo().env['hr.employee'].search(
['|', ('user_role_id', '=', button_id.users_role_id.id),
('user_role_ids', 'in', button_id.users_role_id.id),
'|', ('user_role_id', 'in', button_id.users_role_group_ids.user_role_ids.ids),
('user_role_ids', 'in', button_id.users_role_group_ids.user_role_ids.ids)])
if button_id.users_role_id:
employee_ids = record.sudo().env['hr.employee'].search(
['|', ('user_role_id', '=', button_id.users_role_id.id),
('user_role_ids', 'in', button_id.users_role_id.id),
])
else:
employee_ids = record.sudo().env['hr.employee'].search([
'|', ('user_role_id', 'in', button_id.users_role_group_ids.user_role_ids.ids),
('user_role_ids', 'in', button_id.users_role_group_ids.user_role_ids.ids),
])
else:
employee_ids = record.sudo().env['hr.employee'].search(
['|', ('user_role_id', '=', button_id.users_role_id.id), ('user_role_ids', 'in', button_id.users_role_id.id),
'|', ('user_role_id', 'in', button_id.users_role_group_ids.user_role_ids.ids), ('user_role_ids', 'in', button_id.users_role_group_ids.user_role_ids.ids),
'|', ('department_id', '=', record.env.user.employee_id.department_id.id), ('department_ids', 'in', record.env.user.employee_id.department_id.id),
])
if button_id.users_role_id:
employee_ids = record.sudo().env['hr.employee'].search(
['|', ('user_role_id', '=', button_id.users_role_id.id), ('user_role_ids', 'in', button_id.users_role_id.id),
'|', ('department_id', '=', record.env.user.employee_id.department_id.id), ('department_ids', 'in', record.env.user.employee_id.department_id.id),
])
else:
employee_ids = record.sudo().env['hr.employee'].search([
'|', ('user_role_id', 'in', button_id.users_role_group_ids.user_role_ids.ids), ('user_role_ids', 'in', button_id.users_role_group_ids.user_role_ids.ids),
'|', ('department_id', '=', record.env.user.employee_id.department_id.id), ('department_ids', 'in', record.env.user.employee_id.department_id.id),])
if record.env.user.employee_id.id in employee_ids.ids:
record.state = button_id.node_id.node_name
return res
@@ -16,8 +16,8 @@ class SoongWorkflowRecordDeleteWizard(models.TransientModel):
def add_comment(self):
for record in self:
if record.name == "OK":
if record.record_id.reclaim_state == False:
if record.name == "确认删除":
if record.record_id.reclaim_state is False:
self.env["soong.workflow.record"].sudo().search([("id", "=", record.record_id.id)]).write({
"reclaim_state": True
})
@@ -7,7 +7,7 @@
<field name="arch" type="xml">
<form string="删除确认">
<p>确认要销毁当前所选的工作吗?</p>
<p>删除后持不可恢复,确认删除请输入大写字母"OK"</p>
<p>删除后持不可恢复,如确认请输入"确认删除"</p>
<field name="name"/>
<field name="record_id" invisible="1" />
<footer>