Création de Modules Odoo
Création de Modules Odoo
Création de Modules Odoo
Odoo
Odoo 14 17/10/2022 1
2 Introduction
Odoo 14 17/10/2022
3 Introduction
Odoo 14 17/10/2022
4 Création et installation d'un nouveau module
Odoo 14 17/10/2022
5 Création et installation d'un nouveau module
Odoo 14 17/10/2022
10 Organisation de la structure des fichiers du
module
Odoo 14 17/10/2022
11 Organisation de la structure des fichiers du
module
Modifiez le fichier __init__.py supérieur du module afin que le
code des sous-répertoires soit chargé :
Odoo 14 17/10/2022
Organisation de la structure des fichiers du
12
module
un module Odoo peut avoir trois types de fichiers :
Le code Python est chargé par le fichier __init__.py, où les
fichiers .py et les sous-répertoires de code sont importés. Les sous-
répertoires contenant du code Python, à leur tour, ont besoin de leur
propre fichier __init__.py.
Fichiers de données à déclarer dans les clés data et demo dans le
manifeste du module (__manifest__.py) à charger sont
généralement des fichiers XML et CSV pour l'interface utilisateur.
Ressources Web telles que le code et les bibliothèques JavaScript,
les modèles CSS, SASS et QWeb/HTML. Ces fichiers sont utilisés
pour créer des parties d'interface utilisateur et gérer les actions de
l'utilisateur dans ces éléments d'interface utilisateur.
Odoo 14 17/10/2022
Organisation de la structure des fichiers du
13
module
Les fichiers doivent être organisés dans les répertoires suivants :
Models: contient les fichiers Python
Views: contient les fichiers interface xml
Data: contient d'autres fichiers de données avec les données initiales du module.
Demo: contient des fichiers de données avec des données de démonstration, ce
qui est utile pour les tests, la formation ou l'évaluation de module.
I18n: C'est là qu'Odoo cherchera les fichiers de traduction .pot et .po.
Security: contient les fichiers de données qui définissent les listes de contrôle
d'accès
Controllers: contient les fichiers de code pour les contrôleurs de site Web et
pour les modules offrant ce genre de fonctionnalité
Static: est l'endroit où tous les actifs Web doivent être placés
Wizard:contient tous les fichiers liés aux assistants. Dans Odoo, les assistants
sont utilisés pour contenir des données intermédiaires.
Report: Odoo fournit une fonctionnalité pour générer des documents PDF tels
Odoo 14 17/10/2022
que des ventes, commandes et factures.
Ajout de modèles
14
Odoo 14 17/10/2022
Ajout de modèles
17
Les champs de modèle sont définis comme des attributs de classe. Nous
avons commencé par définir le champ name du type Char.
Nous avons également utilisé un exemple de champ relationnel –
author_ids. Cela définit une relation plusieurs-à-plusieurs(Many2many)
entre les livres de bibliothèque et leurs partenaires, car un livre peut avoir
plusieurs auteurs et chaque auteur peut avoir écrit plusieurs livres.
Ensuite, nous devons rendre notre module conscient de ce nouveau fichier
Python. Ceci est fait par les fichiers __init__.py
Puisque nous avons placé le code dans le sous-répertoire models/, nous
avons besoin du fichier __init__ précédement créé pour importer ce
répertoire, qui devrait à son tour contenir un autre fichier __init__, en y
important chacun des fichiers de code (un seul, dans notre cas).
Ces modification sont prise en charges en mettant a jours le module.
Odoo 14 17/10/2022
Ajout d'éléments de menu et de vues
20
Une fois que nous avons des modèles pour nos besoins en
structure de données, nous voulons une interface
utilisateur afin que nos utilisateurs puissent interagir avec
eux. Cette recette s'appuie sur le modèle Library Book de
la recette précédente et ajoute un élément de menu pour
afficher une interface utilisateur avec des vues de liste et
de formulaire.
Odoo 14 17/10/2022
Ajout d'éléments de menu et de vues
21
Odoo 14 17/10/2022
Ajout d'éléments de menu et de vues
22
</record>
Ajout d'éléments de menu et de vues
25
Ajoutez une vue de formulaire personnalisée au fichier
library_book_view.xml :
Odoo 14 17/10/2022
Ajout d'éléments de menu et de vues
26
Ajoutez une vue (liste) au fichier library_book_view.xml :
<record id="library_book_view_tree" model="ir.ui.view">
<field name="name">Library Book List</field>
<field name="model">library.book</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="date_release"/>
</tree>
</field>
</record>
Odoo 14 17/10/2022
Ajout d'éléments de menu et de vues
27
Ajoutez des options de recherche personnalisées au fichier
library_book_view.xml
<record id="library_book_view_search" model="ir.ui.view">
<field name="name">Library Book Search</field>
<field name="model">library.book</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="author_ids"/>
<filter string="No Authors"
name="without_author"
domain="[('author_ids','=',False)]"/>
</search>
</field>
</record>
Odoo 14 17/10/2022