Der folgende Code erstellt ein neues Menü auf der obersten Ebene.
Datei= eq_letter/views/views.xml
<odoo> <data> <record model="ir.actions.act_window" id="eq_letter_menu_action"> <field name="name">eq_letter_menu_action</field> <field name="res_model">eq_letter</field> </record> <menuitem id="eq_letter_menu" name="eq_letter" action="eq_letter_menu_action"/> </data> </odoo>
Das Ergebnis sieht dann so aus.
Mit dem sequence Parameter lässt sich die Reihenfolge der Menüeinträge bestimmen. Je höher die Zahl umso niegrieger die Priorität.
<menuitem id="eq_letter_menu" name="eq_letter" action="eq_letter_menu_action" sequence="1000"/>
Das bisher gezeigt ist sehr rudimentär, zum Beispiel funktioniert der Create Button nicht. Dies ändert sich mit den folgenden erweiterungen.
<record model="ir.actions.act_window" id="eq_letter_menu_action"> <field name="name">EQ Letter</field> <field name="res_model">eq_letter</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create your letter. </p> </field> </record>
Der "view_type" ist in diesem Fall form. Alternativ kann auch list verwendet werden.
- form gibt eine Listenansicht sobald Datensätze vorhanden sind zusätzlich kann zu einer Formularansicht gewechselt werden.
- list gibt ebenfalls eine Listenansicht jedoch kann zu keiner anderen Ansicht gewechselt werden
Definieren der Formview:
<record model="ir.ui.view" id="eq_letter_form_view"> <field name="name">eq_letter_form</field> <field name="model">eq_letter</field> <field name="arch" type="xml"> <form string="test"> <group> <field name="eq_res_partner"/> <field name="eq_date"/> <field name="eq_subject"/> <field name="eq_body"/> <field name="eq_state"/> </group> </form> </field> </record>
Das group tag ist notwendig um das label anzuzeigen(das Stringattribut im model eq_date = fields.Date(string="date")).
Zur demonstration legen wir einen Eintrag an: