Uso dei metodi

Metodi menu_ automatici

Nella Table è possibile specificare dei metodi menu_, che permetteranno di effettuare modifiche al contenuto o al layout delle voci di menu.

branchId

Inoltre, ogni metodo menu_ può essere ulteriormente personalizzato se seguito da un _nomeapiacere:

def menu_dynamicMenuContent_bianchi(self,**kwargs):
    return self.query(where="$data=:this_month AND $cliente='Bianchi'", this_month=self.db.workdate.month).fetch()

Così facendo sarà possibile anche specificare di volta in volta quale variante del metodo usare con l’attributo branchId:

class Menu(object):
  def config(self,root):
      fatturazione = root.branch(u"Fatturazione")
      fatturazione.tableBranch('Ultime fatture', table='fatt.fattura',
                              query_limit=5,
                              query_order_by='$protocollo desc',
                              cacheTime=5,
                              branchId='bianchi')

Metodi personalizzati

È infine possibile specificare metodi totalmente personalizzati per costruire i menu in maniera dinamica, ad esempio:

def menuPerTipoCliente(self,root,**kwargs):
      tipi_cli = self.query(columns="""@cliente_id.cliente_tipo_codice AS tipo_cli_codice,
                                      @cliente_id.@cliente_tipo_codice.descrizione AS tipo_cli_desc""",
                                      distinct=True).fetch()
      for r in tipi_cli:
          root.tableBranch(r['tipo_cli_desc'],table='fatt.fattura',
                                  query_limit=3,query_order_by='$protocollo desc',
                                  query_where='@cliente_id.cliente_tipo_codice=:cl',
                                  query_cl=r['tipo_cli_codice'],cacheTime=5)

L’esempio considerato permetterà di mostrare le ultime 3 fatture emesse per tipo di cliente, creando un ramo per ogni categoria disponibile.

Si noti che in questo caso sarà necessario specificare il metodo da usare nel parametro branchMethod.


Parametri:

Nome parametro

Tipo

Descrizione

checkpref

T

Permette di mostrare la voce di menu o il branch solo se rispettata una determinata condizione espressa nelle preferenze, nella forma «pkg.nomepreferenza» (es: checkpref=”adm.gestione_utenti_nel_menu”)

checkenv

T

Permette di mostrare la voce di menu o il branch solo se rispettata una determinata condizione espressa nell’environment (es: checkenv=”deposito_id”)

newPanel

B

Se impostato a True la voce di menu si aprirà in un nuovo tab del browser

newWindow

B

Se impostato a True la voce di menu si aprirà in una nuova finestra del browser

Common Parameters

label

T

Solitamente implicito, si riferisce all’etichetta della voce di menu

tags

T

Permette di indicare i tag utente a cui le pagine sono riservate (es: tags=”admin”)

Autore della sezione: Davide Paci