diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 450a3fdaf..614932c94 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -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 diff --git a/soong_workflow/wizard/soong_workflow_record_delete_wizard.py b/soong_workflow/wizard/soong_workflow_record_delete_wizard.py index e2e86c4fc..2b13b43ef 100644 --- a/soong_workflow/wizard/soong_workflow_record_delete_wizard.py +++ b/soong_workflow/wizard/soong_workflow_record_delete_wizard.py @@ -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 }) diff --git a/soong_workflow/wizard/soong_workflow_record_delete_wizard_view.xml b/soong_workflow/wizard/soong_workflow_record_delete_wizard_view.xml index aca08c471..d541ec6b3 100644 --- a/soong_workflow/wizard/soong_workflow_record_delete_wizard_view.xml +++ b/soong_workflow/wizard/soong_workflow_record_delete_wizard_view.xml @@ -7,7 +7,7 @@

确认要销毁当前所选的工作吗?

-

删除后持不可恢复,确认删除请输入大写字母"OK"

+

删除后持不可恢复,如确认请输入"确认删除"