Chapitre 6 : Création d’un module sur Odoo (part 8)

Les vues : Tree

Dans le contexte d’Odoo, l’élément <tree> est utilisé pour définir une vue de liste/tabulaire dans laquelle les enregistrements d’un modèle sont affichés sous forme de lignes dans un tableau.

L’élément <tree> peut être utilisé dans les vues d’Odoo pour afficher les enregistrements d’un modèle avec des colonnes spécifiques et des options de filtrage, de tri et de pagination.

Voici un exemple de code XML utilisant l’élément <tree> pour définir une vue de liste pour le modèle « hospital.patient » :

<odoo>
    <data>
        <record id="view_hospital_patient_tree" model="ir.ui.view">
            <field name="name">hospital.patient.tree</field>
            <field name="model">hospital.patient</field>
            <field name="arch" type="xml">
                <tree>
                    <field name="name"/>
                    <field name="age"/>
                    <field name="gender"/>
                </tree>
            </field>
        </record>
    </data>
</odoo>

Dans cet exemple, nous créons une vue de liste pour le modèle « hospital.patient ». Explications :

  • L’élément <record> définit un nouvel enregistrement pour la vue.
  • L’attribut id spécifie l’identifiant unique de la vue.
  • L’attribut model indique le modèle auquel la vue est associée.
  • L’attribut arch contient le code XML qui définit la structure et les éléments de la vue.
  • La balise <tree> définit la vue de liste/tabulaire.
  • À l’intérieur de la balise <tree>, nous utilisons les balises <field> pour spécifier les colonnes que nous souhaitons afficher dans la vue.
  • Chaque balise <field> doit avoir l’attribut name qui indique le nom du champ du modèle que nous voulons afficher.

Dans cet exemple, nous affichons les colonnes « name », « age » et « gender » pour chaque enregistrement du modèle « hospital.patient » dans la vue de liste.

Vous pouvez personnaliser davantage la vue en ajoutant des attributs supplémentaires aux balises <field>, tels que string pour spécifier le libellé de la colonne, widget pour définir le widget utilisé pour afficher la valeur du champ, etc.

L’utilisation de l’élément <tree> vous permet de présenter les données de manière tabulaire dans Odoo, offrant ainsi une vue concise et organisée des enregistrements d’un modèle spécifique.

Activité :

Objectif : Créer une liste pour les patients dans Odoo.

Instructions :

  1. Ouvrez le patient.xml dans un éditeur de code.
  2. Copiez le code XML suivant et collez-le dans le fichier « patient.xml » :
<odoo>
    <data>
        <record id="view_hospital_patient_tree" model="ir.ui.view">
            <field name="name">hospital.patient.tree</field>
            <field name="model">hospital.patient</field>
            <field name="arch" type="xml">
                <tree>
                    
                </tree>
            </field>
        </record>
    </data>
</odoo>
  1. Enregistrez le fichier « patient.xml ».
  1. Accédez à la section « Technical » -> « Views » dans Odoo pour vérifier que la vue « hospital.patient.tree » est présente.
  2. Vérifiez également que la liste est affiché.