Full backend implementation with custom Odoo modules: - encoach_api: Core API, user management, JWT auth - encoach_exam: Exam generation (reading, writing, listening, speaking) - encoach_evaluate: AI-powered evaluation (writing, speaking) - encoach_training: Training tips and walkthrough - encoach_storage: File storage management - encoach_payment: Stripe, PayPal, Paymob integration - encoach_mail: Email notifications Made-with: Cursor
30 lines
1.5 KiB
XML
30 lines
1.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<data noupdate="1">
|
|
<record id="rule_session_student_own" model="ir.rule">
|
|
<field name="name">Students see own sessions</field>
|
|
<field name="model_id" ref="model_encoach_session"/>
|
|
<field name="groups" eval="[(4, ref('encoach_core.group_encoach_student'))]"/>
|
|
<field name="domain_force">[('user_id', '=', user.id)]</field>
|
|
</record>
|
|
<record id="rule_session_teacher" model="ir.rule">
|
|
<field name="name">Teachers see all sessions</field>
|
|
<field name="model_id" ref="model_encoach_session"/>
|
|
<field name="groups" eval="[(4, ref('encoach_core.group_encoach_teacher'))]"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
</record>
|
|
<record id="rule_stat_student_own" model="ir.rule">
|
|
<field name="name">Students see own stats</field>
|
|
<field name="model_id" ref="model_encoach_stat"/>
|
|
<field name="groups" eval="[(4, ref('encoach_core.group_encoach_student'))]"/>
|
|
<field name="domain_force">[('user_id', '=', user.id)]</field>
|
|
</record>
|
|
<record id="rule_stat_teacher" model="ir.rule">
|
|
<field name="name">Teachers see all stats</field>
|
|
<field name="model_id" ref="model_encoach_stat"/>
|
|
<field name="groups" eval="[(4, ref('encoach_core.group_encoach_teacher'))]"/>
|
|
<field name="domain_force">[(1, '=', 1)]</field>
|
|
</record>
|
|
</data>
|
|
</odoo>
|