Metatron_Student_ERP/addons/education_attendance/security/education_attendance_security.xml
2026-09-25 18:00:58 +05:30

56 lines
2.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Category -->
<record id="module_category_education_attendance" model="ir.module.category">
<field name="name">Education Attendance</field>
<field name="sequence">40</field>
</record>
<!-- Groups -->
<record id="group_attendance_user" model="res.groups">
<field name="name">Attendance User</field>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="comment">Allows marking attendance lines and tracking their sessions.</field>
</record>
<record id="group_attendance_manager" model="res.groups">
<field name="name">Attendance Manager</field>
<field name="implied_ids" eval="[(4, ref('group_attendance_user'))]"/>
<field name="comment">Full managerial oversight, configuration, and reports.</field>
</record>
<!-- Multi-Company Isolation -->
<record id="rule_attendance_session_company" model="ir.rule">
<field name="name">Attendance Session Company Rule</field>
<field name="model_id" ref="model_education_attendance_session"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', '=', user.company_id.id)]</field>
</record>
<record id="rule_attendance_line_company" model="ir.rule">
<field name="name">Attendance Line Company Rule</field>
<field name="model_id" ref="model_education_attendance_line"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', '=', user.company_id.id)]</field>
</record>
<record id="rule_attendance_history_company" model="ir.rule">
<field name="name">Attendance History Company Rule</field>
<field name="model_id" ref="model_education_attendance"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', '=', user.company_id.id)]</field>
</record>
<!-- Faculty Only Sessions Rule (Attendance Users see their own, Managers see all) -->
<record id="rule_attendance_session_faculty" model="ir.rule">
<field name="name">Faculty Sessions Only</field>
<field name="model_id" ref="model_education_attendance_session"/>
<field name="domain_force">[('faculty_id', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('group_attendance_user'))]"/>
</record>
<record id="rule_attendance_session_manager" model="ir.rule">
<field name="name">Manager All Sessions</field>
<field name="model_id" ref="model_education_attendance_session"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_attendance_manager'))]"/>
</record>
</odoo>