Aggiungere un Wizard – Tutorial ODOO

Eccoci con un nuovo post della nostra sezione di ODOO tutorial. Questa volta ti spiegherò come implementare un wizard all’interno dell’ERP.

COS’È UN WIZARD?

Un wizard in ODOO è un modello visualizzato attraverso una dialog window. Al contrario dei modelli visti fino ad ora un wizard è dichiarato utilizzando la classe Transient Model.

La classe Transient Model estende la più nota classe Model, da cui eredita tutti i metodi.

COSA DIFFERENZIA LA CLASSE TRANSIENT MODEL DALLA MODEL?

I dati di un Wizard non sono persistenti come quelli di un modello, essi vengono cancellati dopo un certo periodo di tempo.

I modelli Wizard non richiedono particolari diritti d’accesso quindi, al contrario dei Model, tutti gli utenti hanno permessi a generare dati wizard.

È importante sottolineare che da un modello non è possibile definire una relazione, attraverso un many2one per esempio, ad un modello wizard.

Per ulteriore documentazione a riguardo vi consiglio di leggere quella ufficiale di ODOO

IMPLEMENTAZIONE

Per convenzione i wizard vengono raccolti all’interno di una directory denominata wizard, abbiate cura di includere in ogni cartella il file di init per importare le classi definite nella directory e di inserire i file xml all’interno del manifest.


Immagine 1

È stata estesa prima di tutto la classe product.template al fine di aggiungere un campo state che ne indichi la disponibilità o meno.


Immagine 2

Nell’immagine 2 vediamo come si definisce una classe Wizard ed un metodo che mette in stato sold out i prodotti selezionati nel wizard. Come vedrete la definizione è del tutto analoga ad una classe standard di ODOO fatta eccezione del riferimento alla classe TransientModel.


Immagine 3

Nell’immagine 3 si visualizza la definizione della vista per il nostro wizard:

Il tag act_window definisce l’azione di visualizzazione della form definita per la classe wizard, form in cui l’utente andrà a scegliere la lista dei prodotti da rendere sold out.
Il tag menuitem permette di inserire l’azione definita precedentemente in un menu all’interno del parent sale.product_config_main contenuto nel modulo sale
La view di un modello wizard segue le stesse logiche di una view collegata ad un modello.

All’interno della view è stato definito infine un button di tipo object che richiama attraverso il name il metodo di cambio stato dei prodotti definito nel wizard.

INTERFACCIA

Vediamone ora il risultato all’interno di ODOO:


Immagine 4

Nell’immagine 4 si visualizza la vista in cui l’utente può, tramite la nuova voce del menu contenuta nella Configurazione del modulo Sale, modificare lo stato dei prodotti in Sold out.


Immagine 5

Nell’immagine 5 si visualizza il wizard, dove l’utente seleziona i prodotti da modificare.

Immagine 6

Nell’immagine 6 vediamo infine che i prodotti selezionati nel wizard sono ora in stato “Non disponibile”.

L’esempio appena presentato è davvero semplice ma permette di capire quanto possano essere utili i wizard per velocizzare le operazioni di un utente all’interno di ODOO.

Il nostro post finisce qui, spero tanto che questo tutorial vi sia stato d’aiuto.

Se anche tu cerchi supporto, chiarimenti a riguardo o vorresti valutare ODOO per la tua azienda non esitare a contattarci.

Scarica gratis!

La Guida Gratuita con tutti i consigli per scegliere un gestionale d'azienda.

Scarica la guida