Un po' di storia...
Il linguaggio di programmazione utilizzato è ovviamente sempre il python, le viste ed i diritti vengono definiti con file xml.
ODOO è caratterizzato da due versione la community e la enterprise, per saperne di più leggi l'articolo inerente.
Come funziona?
Se ti affacci per la prima volta a questo software la versione community è sicuramente quella più indicata per te, la puoi scaricare da qui
Ad installazione avvenuta, all’interno della cartella di ODOO, saranno presenti gli addons di default.
La creazione di un addon/modulo nuovo avviene tramite terminale invocando il comando:
./odoo-bin scaffold your_module_name addons/
Questo comando ti permetterà di generare all’interno della cartella un addon senza funzionalità, contenente tutti i file che ti serviranno per poter interagire con la struttura di base.
Il più importante, è sicuramente _manifest_.py esso è costituito da diversi campi:summary: una descrizione corta che apparirà da interfaccia di Odoo;
description: una descrizione più lunga del tuo modulo;
author: l'autore del modulo;
website: il sito dell'autore del modulo;
category: la categoria del modulo;
version: la versione del modulo;
depends: le dipendenze che il tuo modulo ha, ricordati di metterle sempre!;
data: qui dovrai scrivere l'elenco di tutte le viste e/o i template che hai creato nel tuo modulo, se non crei una vista e non la inserisci qui, la tua vista non sarà....vista!
N.B : Ci sono poi dei parametri boolean che si possono settare come installable e application (omessi al momento della creazione e pari a False per default). Il boolean auto_install, che rende l’addon auto-installante, invece è preferibile averlo False.
Se vuoi inserire un'icona del tuo modulo, crea la cartella static/description e all'interno inserisci l'immagine denominata come icon.estensione (png o jpg)
A questo punto potrai sviluppare il tuo modulo.
Una delle operazioni più semplici e comuni da eseguire su di un modello esistente, è quella di estenderlo aggiungendo un campo.
Vediamo assieme come procedere per aggiungere un nuovo campo nella scheda del prodotto.
1. Creare il nuovo campo
All'interno del file models.py aggiungiamo l'eredità del modulo product.template ed estendiamolo con un nuovo campo di tipo selection, chiamato priority.
_inherit serve proprio a “riconoscere” la classe per ereditarne i campi ed estenderla.
2. Rendere visibile il campo appena creato nell'interfaccia grafica del prodotto.
Andiamo nella cartella views > views.xml e mettiamo il record per aggiungere il campo nella form del prodotto.
Tale codice identifica un’estensione di una view esistente; la nuova vista avrà un nome scelto da noi , il modello esteso ed il riferimento alla view che estendiamo. Questo perché ad un modello possono esserci più viste collegate.
Nell’esempio abbiamo deciso di inserire prima della tipologia del prodotto il nuovo campo.
DA SAPERE!
Per conoscere il nome della view che dobbiamo modificare bisogna essere in modalità sviluppatore (puoi farlo in diversi modi, attivandolo direttamente dalle impostazioni di Odoo oppure inserendo ?debug=1 nella barra dell'url dopo web oppure scaricando da Chrome un plugin per attivare la modalità debug), successivamente comparirà il simbolo del debug, da questo potrai accedere ad un menu e potrai cliccare su Edit view form che ti indicherà il nome della form che stai visualizzando, quindi ti consiglio di essere sulla form del prodotto per avere il nome corretto.
Ovviamente ci sono anche altre modalità per vedere le varie viste che in caso vedremo più avanti.
È importante a questo punto installare o aggiornare il nostro modulo per vedere le modifiche fatte.
Se tutto compila alla perfezione il nostro modulo verrà installato e andando adesso nella scheda del prodotto vedremo il nuovo campo!