Accéder au contenu principal

oo_library: développement du module de consultation - mise en place du modèle

Hello! Aujourd'hui nous allons continuer notre apprentissage avec la mise en place du module de consultation des livres et notament avec l'implémentation des modèles. Ce module vous permettra d'enregistrer et de visualiser l'ensemble des livres et l'ensemble de leurs caractéristiques : titre, auteur, genre, éditeur, collection, résumé, code ISBN.
Dans l'article précédent, je vous expliquais les fonctionnalités du module que nous sommes entrain de développer.

Commençons par une brève modélisation du module


Grâce aux applications Dia et draw.io, j'ai conçu les diagrammes suivants qui nous permettrons de développer notre module.




Diagramme des cas d'utilisation

Ce diagramme montre que l'utilisateur (ici le bibliothécaire) pourra enregistrer, consulter et rechercher des livres.



Diagramme des classes

Le module que nous allons mettre en place dans cette partie prendra en compte les tables suivantes:
  • oo_consultation pour les caractéristiques du livre
  • oo_genre pour le genre de livre (roman, thriller, etc...)
  • oo_editeur ou bien res_partner pour la maison d'édition. Ici, il est à noter que le mieux serais d'utiliser res_partner pour enregistrer les informations de la maison d'édition. Le plus souvent, les erreurs que les gens commettent est de créer de nouvelles tables pour enregistrer des fournisseurs ou des clients pourtant Odoo mets à notre disposition les tables res_users et res_partner pour ça. J'ai mis oo_editeur dans ce diagramme pour des besoins d'explications, mais je répète qu'en aucun cas vous ne devrez le mettre en place sauf si vous aimeriez qu'il soit un fils de la table res_partner comme on le verra plus loin.
  • oo_collection pour l'enregistrement des informations sur la collection du livre (livre de poche, classique, etc...)
  • Enfin res_partner et res_users pour enregistrer respectivement les informations de l'éditeur et ceux de l'auteur

Passons maintenant au code source qui implémentera ce modèle


Dans le dossier models, vous allez écrire le code suivant:


Fichier oo_collection.py


# coding: utf-8

from odoo import fields, models

class OoCollection(models.Model):
    _name = 'oo.collection'
    _rec_name = 'name'

    name = fields.Char(string="Nom")


Fichier oo_genre.py


# coding: utf-8

from odoo import fields, models

class OoGenre(models.Model):
    _name = 'oo.genre'
    _rec_name = 'name'

    name = fields.Char(string="Nom")


Fichier oo_consultation.py


# coding: utf-8

from odoo import fields, models

class OoConsultation(models.Model):
    _name = 'oo.consultation'
    _rec_name = 'titre'

    titre = fields.Char()
    auteur_id = fields.Many2one(
        comodel_name='res.users',
        string='Auteur'
    )
    genre_id = fields.Many2one(
        comodel_name='oo.genre',
        string='Genre'
    )
    editeur_id = fields.Many2one(
        comodel_name='res.partner',
        string='Éditeur'
    )
    collection_id = fields.Many2one(
        comodel_name='oo.collection',
        string='Collection'
    )
    resume = fields.Text(string="Résumé")
    code_isbn = fields.Char(string='Code ISBN')


Fichier __init__.py


from . import oo_collection
from . import oo_consultation
from . import oo_genre


Notes importantes

  1. L'écriture du code # coding: utf-8 permet de prendre en compte les accents dans le code source
  2. _rec_name = 'titre' affichera le titre du livre lorsque la page correspondante à ce livre sera ouverte
  3. Tous les fichiers python devront être importé dans __init__.py

Pour vérifier que votre code a été implémenter:

  1. Redémarrez votre instance
  2. Activez le mode développeur
  3. Lancer Odoo sur votre navigateur
  4. Allez sur Configuration - Techniques - Structure de la base de données - Modèles
  5. Vous pouvez maintenant rechercher vos tables 

Sur ce, je m'arrête ici pour aujourd'hui. Prenez tout votre temps pour assimiler cette partie et n'hésitez pas à me poser vos questions en commentaires. Je vous reviens demain avec la suite, notemment sur la mise en place des vues.

Sur ce, A+!

Commentaires

Posts les plus consultés de ce blog

Tout savoir sur les modèles et les vues

Hello! Aujourd'hui nous allons passer aux choses sérieuses. Il s'agit ici d'un  article très important qui fera de vous une personne capable de tout modifier sur Odoo.  Oui oui! J'ai bien dit tout modifier car mettez bien dans votre tête qu'avec Odoo on peut tout  faire (Yvan Yelizariev)! Je vous prie de vous concentrer, et de  faire les manipulations que je vais vous montrer! En ce moment, ce que vous allez faire c'est créer un module Odoo puis démarrer votre instance. Ensuite, installez le module point_of_sale et cliquez sur le menu Products. Le reste, on le fera ensemble!

Présentation d'un module Odoo de gestion de bibliothèque: comment développer un tel module?

Hello! Aujourd'hui nous allons continuer notre apprentissage d'Odoo en passant par la phase pratique. Nous allons ensemble développer un module de gestion de bibliothèque et donc le code source sera disponible sur un serveur Git. Le module que nous mettrons en place fera intervenir les modules de gestion de stocks, achats et ventes. Nous implémenterons entre autres des modèles et vues personnalisés, des rapports et des workflows. Bref, ce module vous donnera toutes les techniques et méthodes dont vous aurez besoin pour devenir un développeur Odoo chevronné.

Documentation technique du POS Odoo

Bonjour tout le monde et bienvenue dans la documentation technique du POS Odoo!
Je vais vous proposer ici un ensemble d'articles qui vont permettre d'apprendre à utiliser et personnaliser le module du point de vente sur Odoo. Je souhaite donc savoir concrètement les problèmes que vous rencontrez sur la mise en place du POS afin de vous apporter des réponses pertinentes!
J'attends vos commentaires ci-dessous!