Chapter 3 - Odoo 15 Development Book

Adding Menus and Views

Odoo has some good ways to define menu, sub menu, views and actions.The main attraction is that a menu and sub menu can be created using both code and UI, making Odoo more user-friendly.

A user can directly create a menu and submenu from the User interface of Odoo. We can begin by constructing a menu using xml, or code.

For that, we can create a new module named hospital and also create a view directory on the hospital module.

To add a view, we'll add an XML file to the module containing its definition.

    1. Make an XML file to store the data records for the UI Views > patient.xml

    2. Add a data file on the and add the XML file in the data.

    'data': ['views/view.xml'],

    3. Add an action for the view.

    <record id="Record_action" model="ir.actions.act_window">
        <field name="name">Name of Record</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">model.record</field>
        <field name="view_mode">tree,form</field>
        <field name="help" type="html">
            <p class="o_view_nocontent_smiling_face">
                Create a new record!

name - Name of the action.

res model - The model in which the menu is created.

view mode – Various view modes. This mode must be defined by the preceding action.

view_id - The default view that must be loaded when the action is invoked is view id.

4. Add a menu item to the patient.xml file to visible to the users.

<menuitem id="menu_id"
         name="Menu Name"

id - id of the menu

name - Name of the menu which is to be displayed

sequence - Sequence in which menu is displayed

Action - We use the id of the window action we created in the previous step

Parent - This is the identifier for the parent menu item

5. Add a view to the file

<record id="record_view_form" model="ir.ui.view">
    <field name="name"></field>
    <field name="model">record.model</field>
    <field name="arch" type="xml">
                <div class="oe_title">
                        <field name="reference_no" readonly="1"/>
                        <field name="name_id"/>
                        <field name="date"/>
                        <field name="age"/>
                        <field name="gender"/>
                        <field name="note"/>

name: To identify the view. Add human readable title as a name.

model: Identify the target model.

arch: This is the view architecture, where its structure is actually defined.

6. Add a tree view to the file

<record id="record_view_tree" model="ir.ui.view">
   <field name="name"></field>
   <field name="model">record.model</field>
   <field name="arch" type="xml">
           <field name="name_id"/>
           <field name="age"/>
           <field name="gender"/>

7. Check on the UI.


Menu for patient details can be see here.


The image above shows the form view for the patient card.


The patient card tree view is depicted in the image above.

We can create a menu, action, and view in Odoo in this manner.



Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message