Site icon Tosolini.info

Odoo: Calendar view

In Odoo si può creare nelle proprie applicazioni una sezione calendario che possa accogliere i dati su coordinate temporali. Per default la vista appare appunto come quella di un normale calendario, che può essere scelto nelle classiche visualizzazioni giornaliera, settimanale o mensile.

Al suo interno però possiamo inserire i dati che ci interessano, magari appunto come una vista di supporto alla classica tree o kanban. Una situazione tipo potrebbero essere appunto i dati mostrati stile “appuntamento” per avere una visione storica (o futura) sul piano temporale.

La sezione è piuttosto semplice, vediamo un esempio concreto di una App che abbiamo realizzato per l’accettazione dei clienti / fornitori in azienda. SI tratta di un normale record model dove al suo interno dopo la dichiarazione dell’xml andremo ad inserire il tag calendar.

<record model="ir.ui.view" id="mymodel_view_cal">
    <field name="name">mymodel.view.cal</field>
    <field name="model">mymodel</field>
    <field name="priority" eval="2"/>
    <field name="arch" type="xml">
        <calendar string="Calendar View" date_start="entrance_time" date_stop=”leave_time” event_open_popup=”False” mode=”month” color="partner_id" quick_add="False">
            <field name="visit_purpose"/>
            <field name="partner_id"/>
        </calendar>
     </field>
</record>

Dentro la tag calendar come si può vedere si possono definire una serie di parametri.

date_start : definisce il datetime di inizio previsto
date_stop : definisce il datetime di fine prevista

event_open_popup:  definisce il comportamento della visualizzazione calendario, ovvero se mostrare una scheda in pop-up sul calendario stesso. Se messo a False andrà direttamente nella visualizzazione Form in modalità modifica della vista dello stesso modello (tipicamente il codice sarà nello stesso file con il tag form).

mode: definisce la vista del calendario, day, week oppure month
color: raggruppa i possibili dati uguali per colore, in base ad un campo di definizione
quick_add: booleano, mostra una pop-up per creare un dato iniziale veloce, con il solo nome, che può essere successivamente modificato.

all_day: booleano, definisce l’impegno per tutto il giorno

form_view_id: è possibile indicare una vista quando un utente genera o modifica, si tratta di una vista esterna alla APP di riferimento. In genere questo parametro non viene mai indicato e di conseguenza usato.

Nidificato al tag calendar è possibile aggiungere dei campi, che verranno mostrati all’interno del calendario e fanno riferimento diretto alla Form della APP da cui derivano. Questi sono i dati di fatto che appariranno dentro il disegno del calendario, nel riquadro temporale tra start / end. Quindi è bene che la quantità da mostrare sia limitata. Da notare che partner_id in questo caso facendo parte di una many2one sarà quella mostrata come filtro sulla destra per disattivare temporaneamente eventuali dati mostrati.

Come si può vedere dalle funzioni calendario in Odoo è decisamente semplice da creare ed anche modificare all’occorrenza.

Exit mobile version