Votre Première Approche technique avec le mode développeur Odoo- Partie 2/2

Introduction

Dans des logiciels et ERPs propriétaires comme SAP ou SAGE, pour ajouter un champs , ou le  modifier , ou simplement ajouter une information sur votre entête de page, vous devez passer par l'intégrateur de votre solution, pour qu'il vous fasse le travail, parlant pas des frais et le temps engagés ! 

Avec le framework intégré d'odoo, vous avez plusieurs possibilités de personnalisations , que vous pouvez effectuer vous même , sans avoir à solliciter qui que ce soit,  par exemple : modifier le libelle   d'un champ, ajouter un/des  champs, ajouter une table, un menu, une vue, un calcul, personnaliser les séquences de  vos documents (facture, Devis, ...), personnaliser vos états de sorties,...... bref, plein d'options sont à vos main, à travers seulement, l'activation du mode développeur d'odoo. ( Dans la partie 1 , vous trouvez des explications sur ce mode et comment l'activer) .

C'est très pratique, surtout dans les cas ou vous avez des petites rectifications ou personnalisation, mais dans le cas ou vous avez des grands changements ou créations , vous devez utiliser d'autres moyens plus élaborés, nous en parleront dans les prochaines articles.

Dans ce qui suit nous allons découvrir comment utiliser le mode développeur, pour , Ajouter des champs dans la base de données, et dans les formulaires et autres vues, ajouter un modèle (une table) qui va contenir les données, un menu, et un  sous-menus ,  personnalise une recherche d'information,   etc. 

Pour rappel, pour activer le mode développeur, aller vers Menu-- Configuration, en bas de page cliquer sur activer le mode Développeur. 

Comment Utiliser le mode développeur pour ajouter plus de fonctionnalités ou personnaliser les fonctionnalités existantes ? 

Ajouter un champ dans la base de données et l'afficher :  Supposons, qu'une école de formation, dispose de formateurs pour assurer les cours aux étudiant, dans la liste de ses contacts, elle veule   distinguer les contacts de type : formateur  par rapport aux autres contacts.  Une bonne manière de faire est d'ajouter un champ, qui spécifie que le contact est un un formateur ou pas. C'est à travers ce champs que nous puissions effectuer un filtrage sur les contact dont 'ils sont des Formateurs, nous devons tout d'abord créer ce champ dans la base de données , puis l'afficher sur notre formulaire. 

Pour se faire, Après l'activation du mode développeur,  nous allons sur le Menu : Configuration -- Techniques  puis déroulez la liste du menu jusqu'à ce vous trouvez l'option champs: Une liste de tous les champs sera affichée, pour classifier la liste selon les modèles (les tables dans la base de données) Cliquer le bouton regrouper par se trouvant dans la barre de recherche en haut à droite , puis choisir par objet. 

La liste est ainsi réduite parce qu'elle contient la liste des objets contenant les champs .

revenons  à notre sujet et créons notre premier champ, pour se faire,  cliquer sur le bouton créer : et remplir les champs indiquées: 

nom de champ  : x_estformateur, (laisser comme proposé ,précédé par x_ pour connaitre les champs personnalisés ;    étiquette du  champ  : mettez par exemple est un Formateur ? ;

 le champs modèle : mettez Contact (le nom technique c'est res.partner) ,  puisque notre champ va étendre la liste des champs déjà existants dans la base d'odoo par défaut (C'est le principe d'héritage, nous en parlerons dans les prochains articles ) 

dans le  champs type  : mettez boolean  , dans la mesure ou notre champ va contenir ou bien 1 ou 0. (Est un formateur ou pas ) . Cliquer sur enregistrer . 

    Voila le champ est ajoutée dans la base de donnée, mais il ne sera pas affichée, pour se faire  il faut choisir la vue dont on a besoin de visualiser l'information contenu dans ce champ,  dans cet exemple nous voulons le consulter au niveau de la vue formulaire (form view). nous allons donc vers menu -- Contacts  , une liste de tous les contacts sera affichée  sous forme de carrés (la vue kanban ) , cliquer sur n'importe quel contact pour afficher la vue formulaire.  

Pour rappel, Afin de  connaitre le nom technique de n'importe quel champ ou élément du formulaire en cours , il faut juste pointer le curseur de la souris  sur l'élément (par exemple champ) , des informations bien détaillées  seront affichés(modèle, type,description,.... 

A ce stade , cliquer  sur l'icone du mode développeur, puis sur la liste déroulante choisir l'option Editer la vue formulaire, le code source écrit en XML, de la vue formulaire sera affichée. on pourra directement éditer le code de la vue , mais c'est déconseillé , il faut plutôt utiliser l'héritage ; on ajouter le champ juste après le champ nommé vat , dans la vue formulaire  de base   res.partner.form

pour  afficher le champ estformateur,  cliquer sur l'onglet vue hériter et à la fin de la liste , cliquer sur ajouter une ligne, une fenêtre sera affichée donner un nom de vue par exemple : vue  formateurs, puis taper le code suivant : 

<field name="vat" position="after">
    <field     name="x_estformateur" />
</field>

Cliquer sur  sauvegarder et fermer, en cliquant sur la touche F5, (actualiser la page ), le champs est un consultant sera affichée sur le formulaire .

Créer une application de gestion des Formations

Créer une application de gestion des Formations : Dans cette partie nous découvrons comment créer une application qui permet de gérer les formations, présentées par cette école de formation . tout d'abord nous devrons créer le modèle formation dans la base de données .

Pour se faire, allez sur le menu : Configuration , partie technique puis cliquer sur modèle , ne confondez pas le modèle des emails, et les modèles de base de données .

Cliquer sur ajouter un modèle et saisissez les information :    

  description: gestion des formations  ;  et mettez : x_formation sur le nome de modèle (x_ désigne que c'est un modèle personnalisé) 

Vous remarquer qu'odoo ajoute pour vous un champ nommé x_name, qu'on va laisser et pour ajouter d'autres champs ; cliquer sur ajouter une ligne item pour ajouter d'autres champs :

x_code : code de la formation ; type : char; 
x_description: qui va contenir une description sur la formation de type : text; 
x_estenligne : un booléen qui permet de préciser que cette formation est en ligne ou pas,

A présent le modèle est créé dans la base de données , et avant de créer le menu associé , il faut définir les droits d'accès pour pouvoir visualiser le nouveau modèle.

Il faut savoir qu'à partir la version odoo 12 , même l'administrateur ne peut pas accéder aux nouveau modèles sans lui ajouter les droits appropriés, seul le super-utilisateur , a tous les droits d'accès .

Pour l'activer il suffit de cliquer sur le logo du mode développeur puis cliquer sur devenir-un super-utilisateur, il faut prendre les mesures de sécurités nécessaires (copie de sauvegarde) car à travers cet utilisateur vous pouvez tout faire même supprimer tous les données , il faut donc l’utiliser avec précaution.

Pour ajouter les droits d'accès à notre nouveau modèle, rendez vous sur le menu puis sur configuration et cliquer sur Société et groupe, une liste de groupes sera affichée, cliquer sur nouveau , et dans la fenêtre qui s'affiche remplir les informations suivantes :

Application ; laisser vide ; nom taper formation , dans l'onglet hérité de cliquer sur ajouter une ligne et sélectionner : le  type utilisateur/ utilisateur interne . Dans l'onglet Droits d'accès , donner le nom formation et sélectionner  notre objet créé qu'est formation, dans les droits d'accès  activer les quartes options (lecture , modification , Ajout et suppression ) et cliquer sur sauvegarder . 

N'oublier pas d'ajouter les utilisateurs qui puissent accéder à ce module dans l'onglet utilisateurs, en cliquant sur ajouter une ligne puis sélectionner les utilisateurs .   
le modèle et les droits d'accès sont défini , il est temps de créer notre premier menu qui va accéder à notre modèle créé.  
il faut créer les interfaces et actions qui permettent de gérer les formation . 

Créer un menu de formation

pour créer un menu qui va permettre de gérer nos formations, rendre vous sur le menu , Configuration Technique et cliquer sur Menu items; une liste de tous les menus sera affichée , cliquer sur nouveau menu:

le menu : Formation; parent : laisser vide ; pour l'action choisir `ir.actions.act_window`,

 puis  cliquer sur créer et éditer  : 'Action Windwos`: et mettez  : Formation dans le nom de l'action et formation dans l'objet .

De cette façon le menu sera créé. après actualisation de la page vous remarquer qu'on cliquant sur le menu formation, odoo prépare déjà pour nous une liste qui va contenir les formations , et certains fonctionnalités sont intégrées  sans écrire le moindre code, barre de recherche, vue liste, vue formulaire , opérations CRUD (Create Read Update et Delete)   intégrés , Tous cela est possible à travers l'ORM (L'object Relationship  Mapping) intégré dans la plateforme d'odoo qui nous décharger de la partie communication directe avec notre base données. 

Personnalisation des vus :

C'est généreux de la part d'odoo , de nous avoir offert des éléments d'applications prêt à l’utilisation, c'est à nous maintenant de personnaliser les vues et actions. Pour voir comment les résultats s'affichent , cliquer sur le menu nouveau Formation et remplir quelques données . par défaut n'affiche qu'un seul colonne de table pour afficher les autres colonnes , toujours dans le menu Formation, rendez vous sur l'icone développeur puis cliquer sur modifier la vue liste

Créer et personnalise la vue liste : pour créer la vue liste , rendez vous sur la partie Menu: Configuration puis technique , puis sur interface utilisateur et cliquer sur vues : une liste des vues sera affichée , mettre le nom : vue_liste_formation, dans le type mettez et dans le modèle tapez x_formation .

Après cela, dans l'onglet architecture taper le code suivant cliquer sur nouveau et remplir le code suivant informations suivant:


<tree > 
    <field     name="x_code" />
    <field     name="x_name" />
    <field     name="x_description" />
</tree > 

Cliquer sur F5 pour actualiser la page , et vous aurez la nouvelle vue liste affichée

Créer et Personnaliser la vue Formulaire  :  pour créer la vue formulaire, cliquer sur une ligne qui affiche une formation (dans la vue liste précédente)  pour ouvrir le formulaire créé par défaut par odoo.  rendez vous sur l'cône développeur puis sur modifier la vue formulaire , et taper : vue_form_formation  pour le nom de la vue , dans le type de formulaire mettez : form vue, et dans l'objet taper x_formation. puis dans l'onglet architecture xml, taper le code suivant :

<form >
<group >
    <field     name="x_code" />
    <field     name="x_name" />
    <field     name="x_estenligne" />
    <field     name="x_description" />
</group >
</form >

Après actualisation de la page nous aurons nous aurons notre vue formulaire, avec une meilleur présentation  

Conclusion

A travers cet article , nous avons un aperçu sur les possibilités de la plateforme de développent intégré d'odoo . nous avons pu créer un champ , un modèle de données avec ces champs , et nous avons découvert les trois types de vue , recherche , liste et formulaire .
Les possibilités sont très variées , et il n'est pas question de les présenter tous , dans cet article, mais le principe de base est le même, il faut juste prendre tout le temps pour bien comprendre leurs utilités dans des cas réels.

Télécharger gratuitement votre  guide odoo ! 

Télécharger Gratuitement votre guide Odoo

Découvrez comment , Odoo  est une vraie opportunité pour les entreprises et les développeurs !


Télécharger !