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
50 lines
1.8 KiB
XML
50 lines
1.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<record id="view_encoach_elai_avatar_list" model="ir.ui.view">
|
|
<field name="name">encoach.elai.avatar.list</field>
|
|
<field name="model">encoach.elai.avatar</field>
|
|
<field name="arch" type="xml">
|
|
<list string="ELAI Avatars">
|
|
<field name="name"/>
|
|
<field name="avatar_code"/>
|
|
<field name="gender"/>
|
|
<field name="voice_id"/>
|
|
<field name="voice_provider"/>
|
|
<field name="canvas"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_encoach_elai_avatar_form" model="ir.ui.view">
|
|
<field name="name">encoach.elai.avatar.form</field>
|
|
<field name="model">encoach.elai.avatar</field>
|
|
<field name="arch" type="xml">
|
|
<form string="ELAI Avatar">
|
|
<sheet>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="avatar_code"/>
|
|
<field name="avatar_url" widget="url"/>
|
|
<field name="gender"/>
|
|
<field name="canvas"/>
|
|
<field name="voice_id"/>
|
|
<field name="voice_provider"/>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_encoach_elai_avatar" model="ir.actions.act_window">
|
|
<field name="name">ELAI Avatars</field>
|
|
<field name="res_model">encoach.elai.avatar</field>
|
|
<field name="view_mode">list,form</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_encoach_elai_avatar"
|
|
name="ELAI Avatars"
|
|
parent="encoach_core.menu_encoach_config"
|
|
action="action_encoach_elai_avatar"
|
|
sequence="10"/>
|
|
</odoo>
|