2. Sommaire:
1. Introduction
2. Premiers pas pour la prise en main
3. Structure d’un module Odoo
4. Les vues
1. les vues formulaires:
2. Les vues listes :
3. Les vues calendrier:
5. Les menus et les actions :
3. 1.Untroduction:
OpenERP, progiciel de gestion libre, est une suite
moderne d'Applications Métiers, publiée sous la licence
AGPL qui comprend les modules CRM, RH, ventes,
comptabilité, fabrication, gestion d'entrepôts, gestion de
projets, et plus encore.
Il dispose d'une boîte à outils complète et modulaire pour
construire rapidement des applications : Object-
Relationship Mapping (ORM) intégré, un patron Modèle-
Vue-Contrôleur (MVC), un système de génération de
rapport, l'internationalisation automatisée, et bien plus
encore.
4. 2.Premiers pas pour la prise en main:
Après avoir installé openERP dans la machine, il faut suivre ces étapes :
Se connecter au serveur (on cherche le service de openerp et on le
démarre).
Créer une nouvelle base de données
Se connecter à la nouvelle base
Activer les menus de la configuration avancées, pour le faire on doit
changer les droits d’accès de l’utilisateur, et cocher caractéristiques
techniques, et puis redémarrer le serveur.
5.
6.
7.
8. Et comme ça on aura la section technical de la configuration avancée
9. Si on veut juste faire une simple modification d’un module odoo, il y a des
objets et des vues personnalisées, on en crée un objet comme suite :
On clique sur structure de base de données et puis sur modèle et après sur
créer
10.
11.
12.
13. Je vais créer un objet inscription avec 4 champs : nom, prénom, date de
naissance, CNE
14. Et puis on crée le menu en cliquant sur créer un menu
15. Et comme j’ai mis le module Messagerie/Messagerie comme menu parent de
mon objet, je vais trouver mon objet sous le module Messagerie
16.
17. Pour déboguer un module ou un objet, on passe par le menu déboguer vue, et on choisit
l’action qui nous convient, mais avant il faut activer le mode développeur.
On clique sur administrator en haut à gauche et puis sur à propos de openERP
18.
19. 3.Structure d’un module Odoo:
pour créer un module odoo il y a quelques étapes à suivre, certaines sont
obligatoires alors d’autres sont facultatives :
Tout d’abord tout les modules sont crées sous un répertoire
openerp7/openerp/addons, c’est pour ça que la première chose à faire c’est
de créer un package python dans ce répertoire portant le nom du module (
étape obligatoire )
Ensuite créer un fichier de description du module __openerp__.py (
étape obligatoire )
Créer le fichier python contenant les modèles : les classes et les méthodes (
étape obligatoire )
20. Créer des fichier .xml qui définissent les menus, les vues et les actions
( étape obligatoire )
Créer des fichier .xml qui téléchargent les données de démonstration
( étape facultatives )
Créer éventuellement des rapports, des assistants, ou des flux de travail
21. 4.Les vues:
Un fichier de vues OpenERP est toujours construit de cette façon :
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record>
<!-- Ici, les divers champs de la vue -->
</record>
<menuitem/>
<!-- Etc. -->
</data>
</openerp>
22.
23. Et entre les balise <record> </record> voila une déclaration générique :
24. Avec :
id: c’est l’identifiant de la vue
model : comme c’est une vue le modèl sera toujours ir.ui.view qui sera
enregistré dans la table ir_ui_voew de l’openERP
Name=“name” : le nom de la vue ( séparé par des virgules )
Name=“model” : le modèle sur lequel la vue est définie
Name=“arch” : C'est à l'intérieur de cette balise qu'on va mettre la vue
proprement dite.
Type : form, tree, graph, calandar, kanban, search
27. Les attributs communs à tous les éléments :
string : label de l’élément
nolabel : et la mettre à 1 pour cacher l’étiquette du champ
colspan : pour le nombre de colonnes sur lesquelles le champ doit
s’étendre
rowspan : nombre de lignes sur lesquelles le champ doit s’étendre
col : nombre de colonnes que cet élément doit allouer à ses éléments fils
invisible : et la mettre à 1 pour cacher entièrement cet élément
28. 4.2.Les vues listes :
Les vues liste qui incluent les éléments field, sont créées avec le type tree, et
ont un élément parent <tree>. Elles sont utilisées pour définir des listes
plates (modifiables ou non) et les listes hiérarchiques.
Dans les vues liste on trouve les attributs suivants :
colors : liste des couleurs ou des codes de couleur HTML mappés à des
conditions Python
editable : top ou bottom pour permettre l'édition en place
toolbar : mettre à True pour afficher le plus haut niveau de la hiérarchie
d'objets comme une barre d'outils latérale (uniquement pour les listes
hiérarchiques, c'est-à-dire ouvertes avec des actions qui ont
view_type à "tree" au lieu de "mode")
29. Sa declaration XML:
Pour la déclaration XML, elle ressemble à celle du formulaire, on change la
balise <form> </form>, par la balise <tree> </tree>.
Ce qui donne par exemple :
32. 4.3Les vues calendrier :
Ce sont des vues utilisées pour afficher les champs de date comme des
événements de calendrier (l’élément parent est : <calendar>)
Exemple de la vue calendrier
33.
34. 5.Les menus et les actions :
Chaque module dispose d’un menu principale qui
permet à l’utilisateur d’accéder à ce module, et des sous-
menus
38. Avec :
Model: la table pour stoker des actions
Id: l’identifiant de l’action dans la table ir.action.act_windows
Name: le nom de l’action ( obligatoire )
Res_model: le model (classe python) objet de la vue ( obligatoire )
View_mode: la liste des modes alloués pour visualiser les enregistrements
39. La déclaration des menus :
la déclaration d’un menu se fait par le bias de la balise <menuitem/>
par exemple pour déclarer un menu de niveau 1 :
<menuitem id=work_menu_root name=“travaux”>
Ou bien pour déclarer un menu de niveau 1.1 et sans action donc non
cliquable :
<menuitem id=work_menu parent=“work_menu_root” name=“travaux”>
on ajoutait l’attribut parent
Ou bien pour déclarer un menu de niveau 1.1.1 et avec action donc
cliquable :
<menuitem id=works_work_menu parent=“work_menu” name=“travaux”
action=“[ACTION_ID]”>