This question has been flagged

Record Rule to allow a Manager to update all Employees record and All employee can see their own employee record

Avatar
Discard
Best Answer

Hello Gagandeep

Please Try below Record Rules.

For Manager:-

<record id="id" model="ir.rule">
<field name="model_id" ref="model_(model_name)" />
<field name="name">for Manager</field>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>

For Employee:-

<record id="rule_id" model="ir.rule">
<field name="name">for Employee</field>
<field name="model_id" ref="model_(model_name)"/>
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>


Avatar
Discard
Author Best Answer

Actually I have group Employees which contain both managers and employees groups, so only one rule applied on both groups . either its show all record to all employees or only their own record(same for manager)

Avatar
Discard
Best Answer

Hello

by using [('employee_id.user_id','=',user.id)]  we can filter login user mapped employees,

by using ['|',('employee_id.user_id','=',user.id),('employee_id.parent_id.user_id','=',user.id)]  we can filter child's




Avatar
Discard