@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user