====== Gérer des menus ====== Les **actions** et les **menus** sont des enregistrements dans la **base de données**. Ils sont déclarés dans les **fichiers de données** (data files). Les actions peuvent être déclenchées de trois manières : - en cliquant sur un **item** d'un **menu** (lié à une action spécifique) ; - en cliquant sur le **bouton** d'une vue (lié à une action) ; - dans le **menu contextuel** d'un objet. Comme les menus peuvent être complexes à déclarer, vous pouvez utiliser l'élément **** pour créer un **ir.ui.menu** et le lier à l'action correspondante ; ce qui est plus facile à réaliser. Ideas idea.idea tree,form **Attention :** Les actions doivent être déclarées avant qu'un menu y fasse référence dans le fichier XML. Les fichiers de données sont exécutés **séquentiellement** ; **l'id** de l'action doit être présent dans la base de données **avant** que le menu ne puisse être créé. **Exercice définir des entrées de menu : ** Définissez de **nouvelles entrées de menu** pour accéder aux **cours** et aux **sessions** de formation sous l'entrée de menu du **module Open Academy**. L'utilisateur doit pouvoir : * afficher la liste de cours ; * créer et modifier des cours. Démarche à suivre : - Créez un sous dossier **views** contenant le fichier **openacademy.xml** ; - définissez dans ce fichier **views/openacademy.xml** une action et les menus qui vont déclencher cette action ; - rajouter le nom de ce fichier de données dans le fichier manifest **%%__openerp__.py%%** à la rubrique **data**. **Modifier le contenu du fichier manifest %%__openerp__.py%% :** 'data': [ # 'security/ir.model.access.csv', 'templates.xml', 'views/openacademy.xml', ], # only loaded in demonstration mode 'demo': [... **Contenu du fichier views/openacademy.xml :** Cours openacademy.cours form tree,form

Créer le premier cours

* **Mettez à jour** votre module pour visualiser le module **Open Academy** dans la **barre des modules** et, en cliquant sur ce module, le **menu** que vous venez de créer apparaître à **gauche** : * {{ :dev:openerp:creermodule:odoo_module_04.png |}} Vous pouvez maintenant : ***créer** de nouveau enregistrement ; *les **modifier** ; *les **supprimer**. Et vous pouvez **visualisez** avec **pgAdminIII**, la table **openacademy_cours** contenant ces différents enregistrements dans la base de données **PostgreSLQ**. ===== Retour au sommaire de création d'un module ===== [[dev:odoo:creermodule:accueil|Développer un module dans Odoo (version 8)]]