Skip to content

Menu Principal

En este tutorial se definirá el menu para las acciones de ventana de los modelos, se utilizarán archivos de datos xml de acuerdo a los estándares de las vistas de Odoo.

  1. Actualice la estructura de directorios y archivos del módulo, crea el archivo menu.xml.

    • project_19
    • Directorymodels
      • project.py
      • task.py
      • __init__.py
    • Directorysecurity
      • ir.model.access.csv
    • Directoryviews
      • project_views.xml
      • task_views.xml
      • menu_view.xml
    • __init__.py
    • __manifest__.py
  2. Crea la vista de menu principal para los modelos Project y Task en el archivo menu.xml

    <menuitem id="menu_root" name="Proyecto 19">
    <menuitem id="menu_project_action" name="Proyectos" action="project_action" />
    <menuitem id="menu_task_action" name="Tareas" action="task_action" />
    </menuitem>
  3. Crea la acción de venta para el modelo Project en el archivo project.xml

    <?xml version='1.0' encoding='utf-8'?>
    <odoo>
    <record id="project_list" model="ir.ui.view">
    <field name="name">project.list</field>
    <field name="model">project_</field>
    <field name="arch" type="xml">
    <list>
    <field name="name" />
    <field name="start_date" />
    <field name="end_date" />
    <field name="days"/>
    </list>
    </field>
    </record>
    <record id="project_form" model="ir.ui.view">
    <field name="name">project.form</field>
    <field name="model">project_</field>
    <field name="arch" type="xml">
    <form>
    <sheet>
    <group>
    <field name="name" />
    <field name="description" />
    <field name="start_date" />
    <field name="end_date" />
    </group>
    </sheet>
    </form>
    </field>
    </record>
    + <record id="project_action" model="ir.actions.act_window">
    + <field name="name">Proyectos</field>
    + <field name="res_model">project_</field>
    + <field name="view_mode">list,form</field>
    + </record>
    </odoo>
  4. Crea la acción de venta para el modelo Task en el archivo task.xml

    <?xml version='1.0' encoding='utf-8'?>
    <odoo>
    <record id="task_list" model="ir.ui.view">
    <field name="name">task.list</field>
    <field name="model">task_</field>
    <field name="arch" type="xml">
    <list>
    <field name="name" />
    <field name="state" />
    <field name="task_count"/>
    </list>
    </field>
    </record>
    <record id="task_form" model="ir.ui.view">
    <field name="name">task.form</field>
    <field name="model">task_</field>
    <field name="arch" type="xml">
    <form>
    <sheet>
    <group>
    <field name="name" />
    <field name="state" />
    </group>
    </sheet>
    </form>
    </field>
    </record>
    + <record id="task_action" model="ir.actions.act_window">
    + <field name="name">Tareas</field>
    + <field name="res_model">task_</field>
    + <field name="view_mode">list,form</field>
    + </record>
    </odoo>
  5. Registre las vistas en el manifiesto del módulo __manifest__.py.

    {
    "name": "Proyecto 19",
    "version": "1.0",
    "summary": "Aplicación Proyecto 19",
    "category": "Uncategorized",
    "author": "ERP-Group",
    "website": "",
    "license": "LGPL-3",
    "depends": [
    "base",
    ],
    "data": [
    "security/ir.model.access.csv",
    "views/project_views.xml",
    "views/task_views.xml",
    "views/menu_view.xml",
    ],
    "installable": True,
    "auto_install": False,
    "application": True,
    }
  6. Reinicie el servidor de Odoo y actualice el módulo.