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
92 lines
3.9 KiB
XML
92 lines
3.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<record id="view_encoach_assignment_tree" model="ir.ui.view">
|
|
<field name="name">encoach.assignment.tree</field>
|
|
<field name="model">encoach.assignment</field>
|
|
<field name="arch" type="xml">
|
|
<list string="Assignments">
|
|
<field name="name"/>
|
|
<field name="assigner_id"/>
|
|
<field name="start_date"/>
|
|
<field name="end_date"/>
|
|
<field name="instructor_gender"/>
|
|
<field name="started"/>
|
|
<field name="released"/>
|
|
<field name="archived"/>
|
|
<field name="entity_id"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_encoach_assignment_form" model="ir.ui.view">
|
|
<field name="name">encoach.assignment.form</field>
|
|
<field name="model">encoach.assignment</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Assignment">
|
|
<header>
|
|
<button name="action_start" string="Start" type="object"
|
|
class="btn-primary" invisible="started"/>
|
|
<button name="action_release" string="Release" type="object"
|
|
class="btn-primary" invisible="released or not started"/>
|
|
<button name="action_archive" string="Archive" type="object"
|
|
invisible="archived"/>
|
|
<button name="action_unarchive" string="Unarchive" type="object"
|
|
invisible="not archived"/>
|
|
<field name="started" readonly="1"/>
|
|
<field name="released" readonly="1"/>
|
|
<field name="archived" readonly="1"/>
|
|
</header>
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="assigner_id"/>
|
|
<field name="instructor_gender"/>
|
|
<field name="entity_id"/>
|
|
</group>
|
|
<group>
|
|
<field name="start_date"/>
|
|
<field name="end_date"/>
|
|
<field name="auto_start"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Assignees" name="assignees">
|
|
<field name="assignee_ids" widget="many2many_tags"/>
|
|
</page>
|
|
<page string="Exams" name="exams">
|
|
<field name="exam_ids" widget="many2many_tags"/>
|
|
</page>
|
|
<page string="Teachers" name="teachers">
|
|
<field name="teacher_ids" widget="many2many_tags"/>
|
|
</page>
|
|
<page string="Results" name="results">
|
|
<field name="results" widget="json" nolabel="1" placeholder="[]"/>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_encoach_assignment" model="ir.actions.act_window">
|
|
<field name="name">Assignments</field>
|
|
<field name="res_model">encoach.assignment</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create your first assignment.
|
|
</p>
|
|
<p>
|
|
Assignments link exams to assignees and teachers with start and end dates.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_encoach_assignment"
|
|
name="Assignments"
|
|
parent="encoach_core.menu_encoach_classroom"
|
|
action="action_encoach_assignment"
|
|
sequence="20"/>
|
|
</odoo>
|