odoo18/addons_extensions/hr_employee_appraisal/security/security.xml

63 lines
2.8 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!-- security.xml -->
<odoo>
<!-- security.xml -->
<odoo>
<record id="category_employee_appraisal" model="ir.module.category">
<field name="name">Appraisal</field>
<field name="sequence">50</field>
</record>
<!-- Define the user groups -->
<record id="group_appraisal_officer" model="res.groups">
<field name="name">Appraisal Officer</field>
<field name="category_id" ref="category_employee_appraisal"/>
</record>
<record id="group_appraisal_manager" model="res.groups">
<field name="name">Appraisal HR Manager</field>
<field name="category_id" ref="category_employee_appraisal"/>
<field name="implied_ids" eval="[(4, ref('group_appraisal_officer'))]"/> <!-- Inherit Appraisal User permissions -->
</record>
<record id="group_appraisal_administrator" model="res.groups">
<field name="name">Appraisal Administrator</field>
<field name="category_id" ref="category_employee_appraisal"/>
<field name="implied_ids" eval="[(4, ref('group_appraisal_officer'))]"/> <!-- Inherit Appraisal User permissions -->
</record>
<record id="employee_appraisal_base_user_rule" model="ir.rule">
<field name="name">User can only see his/her own appraisals</field>
<field name="model_id" ref="model_employee_appraisal"/>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="domain_force">[('user_id','=',user.id),('state','!=','draft')]</field>
</record>
<record id="employee_appraisal_officer_rule" model="ir.rule">
<field name="name">User can only see the records of people under him/her</field>
<field name="model_id" ref="model_employee_appraisal"/>
<field name="groups" eval="[(4, ref('group_appraisal_officer'))]"/>
<field name="domain_force">[('reviewers_name.user_id','=',user.id),('state','!=','draft')]</field>
</record>
<record id="employee_appraisal_manager_rule" model="ir.rule">
<field name="name">User can only see the all the appraisal records where he/she is set as HR</field>
<field name="model_id" ref="model_employee_appraisal"/>
<field name="groups" eval="[(4, ref('group_appraisal_manager'))]"/>
<field name="domain_force">[('appraisal_hr_id','=',user.id)]</field>
</record>
<record id="employee_appraisal_md_rule" model="ir.rule">
<field name="name">User can only see the all the appraisal records where he/she is set as MD</field>
<field name="model_id" ref="model_employee_appraisal"/>
<field name="groups" eval="[(4, ref('group_appraisal_administrator'))]"/>
<field name="domain_force">[('appraisal_md_id','=',user.id)]</field>
</record>
</odoo>
</odoo>