添加功能
This commit is contained in:
@@ -125,19 +125,19 @@ class SoongWorkflowMixin(models.AbstractModel):
|
||||
def create(self, vals_list):
|
||||
res = super().create(vals_list)
|
||||
for record in res:
|
||||
button_ids = record.sudo().workflow_id.node_ids.button_ids.search([('workflow_id', '=', res.workflow_id.id), ('sequence', '=', 1)])
|
||||
button_ids = record.sudo().workflow_id.node_ids.button_ids.search([('workflow_id', '=', res.workflow_id.id)])
|
||||
current_user_role_id = record.env.user.employee_id.user_role_id.id
|
||||
for button in button_ids:
|
||||
print(f" - 按钮ID: {button.id}, 节点名称: {button.node_id.name}")
|
||||
for button_id in button_ids:
|
||||
allowed_role_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),
|
||||
])
|
||||
allowed_role_ids.append(button_id.users_role_id.id)
|
||||
elif button_id.users_role_group_ids:
|
||||
allowed_role_ids.extend(button_id.users_role_group_ids.user_role_ids.ids)
|
||||
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),
|
||||
])
|
||||
if record.env.user.employee_id.id in employee_ids.ids:
|
||||
continue
|
||||
if current_user_role_id in allowed_role_ids:
|
||||
record.state = button_id.node_id.node_name
|
||||
return res
|
||||
|
||||
|
||||
Reference in New Issue
Block a user