73 lines
3.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Module Category -->
<record id="module_category_education_exam" model="ir.module.category">
<field name="name">Examination</field>
<field name="description">Helps you manage Education Examinations.</field>
<field name="sequence">10</field>
</record>
<!-- Groups -->
<record id="group_education_exam_teacher" model="res.groups">
<field name="name">Teacher / Faculty</field>
</record>
<record id="group_education_exam_administrator" model="res.groups">
<field name="name">Administrator</field>
<field name="implied_ids" eval="[(4, ref('group_education_exam_teacher'))]"/>
</record>
</data>
<data noupdate="0">
<!-- Record Rules: Teacher -->
<record id="rule_education_exam_result_teacher" model="ir.rule">
<field name="name">Teacher Exam Result Rule</field>
<field name="model_id" ref="model_education_exam_result"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_education_exam_teacher'))]"/>
</record>
<record id="rule_education_exam_result_line_teacher" model="ir.rule">
<field name="name">Teacher Exam Result Line Rule</field>
<field name="model_id" ref="model_education_exam_result_line"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_education_exam_teacher'))]"/>
</record>
<!-- Record Rules: Portal (Student Isolation & Publication Enforcement) -->
<record id="rule_education_exam_portal" model="ir.rule">
<field name="name">Portal Student Exam View</field>
<field name="model_id" ref="model_education_exam"/>
<field name="domain_force">[('state', 'in', ['scheduled', 'ongoing', 'completed', 'results_published'])]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
<record id="rule_education_exam_result_portal" model="ir.rule">
<field name="name">Portal Student Exam Result Isolation</field>
<field name="model_id" ref="model_education_exam_result"/>
<field name="domain_force">[('student_id.portal_user_id', '=', user.id), ('published', '=', True)]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
<record id="rule_education_exam_result_line_portal" model="ir.rule">
<field name="name">Portal Student Result Line Isolation</field>
<field name="model_id" ref="model_education_exam_result_line"/>
<field name="domain_force">[('result_id.student_id.portal_user_id', '=', user.id), ('result_id.published', '=', True)]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
</data>
</odoo>