Odoo/dev/new module/menuitems

From zeroincombenze
Jump to: navigation, search
Tb arrow up.jpg File:Tb dev.png File:Tb dev.png File:Tb dev.png File:Tb dev.png Lang english.png


Menù e azioni

Le voci del menù sono attivazione un'azione in odoo.

I menù sono gestiti a più livelli. Sia la definizione di un menù che le azioni sono effettuate con un file XML con i seguenti tag:

openerp 
   └─ data┐
       │  └─ noupdate
       │
       ├─ record┐
       │    │   ├─ id
       │    │   └─ model="ir.actions.act_window"
       │    │
       │    └─ field┐
       │            ├─ name
       │            └─ ref
       │
       └─ menuitem┐
                  ├─ id
                  ├─ groups
                  ├─ name
                  ├─ parent
                  └─ sequence


Menù

Esempio di definizione:

  <menuitem id="menu_id"
            parent="parent_menu_id"
            name="label"
            action="action_id"
            groups="groupname1,groupname2"
            sequence="10"/>
  • <menuitem> Il tag principale in cui sono racchiuse tutte le definizioni del menù
  • id= Contiene un identificativo univoco; consigliato menu_modello_nome dove modello è il nome modello in cui il simbolo '.' è sostituito da '_' e nome è un nome simbolico rappresentativo del menu
  • name= Label (in inglese) da visualizzare; per la traduzione vedere relativa pagina (in costruzione)
  • action= se presente è identificativo di un'azione definita con il relativo tag del modello ir.actions.act_window; se assente deve essere parent di altri menù
  • parent= identificativo del menù padre nella tabella degli identificativi esterni (campo obbligatorio). Se il menù padre è un menù di 1.mo livello viene visualizzato come un menù separatore di colore diverso
  • groups= lista dei gruppi che possono vedere questo menù; se assente è visibile a tutti
  • sequence= numero di sequenza per ordinare la visualizzazione dei menù dello stesso livello (i numeri più bassi sono posti più in alto)


Nomi menù 1.mo livello e principali 2.do livello

  • base.menu_base_partner Vendite
  • base.menu_purchase_root Acquisti
  • account.menu_finance Contabilità (fatturazione)
  • base.menu_main_pm Progetti
  • base.menu_administration Configurazione
  • base.menu_reporting Reporting
  • base.menu_config Configurazione/Configurazione
  • base.menu_custom Configurazione/Technical


Azioni

Esempio di definizione:

  <record model="ir.actions.act_window" id="action_id">
    <field name="name">action.name</field>
    <field name="view_id" ref="view_id"/>
    <field name="domain">[list of 3-tuples (max 250 characters)]</field>
    <field name="context">{context dictionary (max 250 characters)}</field>
    <field name="res_model">object.model.name</field>
    <field name="view_type">form|tree</field>
    <field name="view_mode">form,tree,calendar,graph</field>
    <field name="target">new</field>
    <field name="search_view_id" ref="search_view_id"/>
  </record>

Le azioni sono definite con una serie di field.

  • <record> Il tag principale in cui sono racchiuse tutte le definizioni dell'azione
  • model="ir.actions.act_window" dichiara che il record è un'azione
  • id= Contiene un identificativo univoco all'interno della tabella azioni; consigliato modulo.action_nome dove modulo è il nome del modulo che lo definisce e nome è un nome simbolico rappresentativo dell'azione
  • <field name="name"> Nome dall'azione (in inglese) da visualizzare nel relativo menù; per la traduzione vedere relativa pagina (in costruzione)
  • <field name="view_id" Nome della vista da aprire (se assente è utilizzata la vista con priorità più bassa); con la view_id è necessario il tag ref=
  • ref= contiene il riferimento alla view da attivare o cercare, definita con model="ir.ui.view"
  • <field name="domain"> Se presente, lista di 3 tuple per filtrare i dati della view; vedere la funzione search()
  • <field name="context"> Se presente, valore del context da passare alla view
  • <field name="res_model"> Nome del modello che gestisce la view
  • <field name="view_type"> Tipo di vista; può essere form per la gestione dell'editing oppure tree per una visualizzazione multirecord
  • <field name="view_mode"> Lista con i tipi di viste gestibili, separati da virgola; i tipi sono: tree, form, calendar, search, graph, gantt, kanban, diagram; potrebbe essere ignorato dal client
  • <field name="target"> Se presente e impostato a new, dichiara che la vista è aperta con un nuovo pop-up
  • <field name="search_view_id" Se presente, contiene il nome della view di ricerca che sostituisce la ricerca standard; necessario il tag ref=

Campi definibili dalla 8.0:

  • <field name="views"> Se presente, lista con (id, tipo) dove id è l'id nel DB oppure False e tipo è uno dei tipi del tag view_mode
  • <field name="res_id"> Se presente e tipo vista form, determina il numero di record da caricare in editing
  • <field name="target"> Se presente può assumere i valori new (come per la 7.0) o current (che è il default)
  • <field name="limit"> Se presente indica il numero di record da visualizzare; per default è il valore impostato dall'utente oppure 80
  • <field name="auto_search"> Se presente può assumere i valori True (default) o False per abilitare la ricerca dopo il caricamento dei valori di default
  • <field name="view_ids">