跳至内容
菜单
此问题已终结
8 回复
4589 查看

I'm using odoo v 11 and i want that the approve action for example in leaves module to be done only with the manager of the employee,for example i have employee "x" with a manager "z" and i have another employee "y" with a manager "w" . i want that the manager "w" could only approve the request of his employee "y". But i notice that if you have the right of manager you can approve to anyone even though you are not his manager.Is it a solution for that ?

形象
丢弃
编写者 最佳答案

i found the solution i should create a new record rule with the domain filter ['|',('employee_id.user_id','=',user.id),('employee_id.parent_id.user_id','=',user.id)] 

形象
丢弃
最佳答案

Hi,

If this is the situation what you can do is that, either add a record rule for the leaves such a way that the managers only see his employee leave requests or you can override the action of the approval button and check whether the approving user is the manager of the leave requested employees manager or not and raise the warning message.


Thanks

形象
丢弃
编写者

Thanks, but can i create a record rule which allows managers to see their own employees only

Yes as described in answer, either create record rule or override the button action and make changes

编写者

What should i write in the domain filter ?

'employee_id.parent_id.user_id', '=', user.id

最佳答案

Hi Dhouha,


As Niyas said you can create a new record rule and disable the current rule for Leaves/Manager for hr.leave object. I guess "[('department_id.member_ids.user_id', '=', user.id)]" domain will work fine. You can also modify the action_approve() method to check for the current user's department and raise an error. I will prefer the first method since department heads should not be able to see the leaves of employees who are not in their department.


Mihran

形象
丢弃

Check this customization tips: https://goo.gl/8HgnCF

相关帖文 回复 查看 活动
2
7月 24
3094
1
6月 24
5490
1
10月 23
11359
1
10月 23
98
1
8月 23
2194