tableBranch

Il tableBranch permette di costruire dinamicamente un branch basato su una Table. Le voci contenute nel nuovo ramo saranno i singoli record della tabella, che è possibile filtrare specificando i parametri della query:

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)
      fatturazione.tableBranch('Ultime fatture modificate',table='fatt.fattura',
                              query_limit=5,
                              query_order_by='$protocollo desc',
                              cacheTime=5, branchId='modificate')
      fatturazione.tableBranch('Ultime per tipo',table='fatt.fattura',
                              branchMethod='menuPerTipoCliente',
                              cacheTime=5)
      fatturazione.tableBranch('Prodotti',table='fatt.prodotto',
                              webpage='fatt/scheda_prodotto',query_limit=5,
                              webpage_template='catalogo',cacheTime=5)

Oltre ai parametri della query_, si noti che è possibile specificare un branchId, che richiamerà un metodo automatico automatico identificato dalla variante, oppure un branchMethod, ovvero un altro metodo questa volta non automatico ma personalizzato, in entrambi i casi definiti nella Table.

Suggerimento

L’uso di branchId è particolarmente indicato in caso di customizzazioni di package, il branchMethod invece nei casi in cui si necessita di metodi ad hoc definiti da zero.

Come si presentano i record del tableBranch

Oltre a condividere il ramo di menu, i record del tableBranch condivideranno anche la stessa pagina: al clic su uno dei record, quindi, verrà effettuato uno switch sul record selezionato, all’interno della stessa pagina.

../_images/tablebranch.gif

Si noti che la selezione può essere effettuata sia dal menu sia dal selettore apposito presente accanto al titolo del record.

Questo consentirà innanzitutto di inviduare i record dal menu effettuando una ricerca testuale, e secondariamente di risparmiare tempo e risorse al caricamento.


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

table

T

La table su cui si vuole operare (es: table=”fatt.fattura”)

branchMethod

T

Permette di indicare il nome del metodo personalizzato della Table che si occupa della costruzione del menu (es: branchMethod=”costruisciMenuPersonalizzato”)

branchPage

B

Di default True, permette di specificare se aprire gli elementi nella stessa pagina oppure in tab separati

branchId

T

Permette di specificare il branchId del metodo da utilizzare (es: branchId=”alfa”)

branch_

T

Permette di passare un qualunque parametro al metodo di costruzione del menu (es: branch_date=”31/12/2021”)

query_

T

Permette di passare vari parametri alla query da effettuare sulla tabella (es: query_limit=5, query_order_by=”$protocollo desc”)

webpage

T

Permette di specificare il path della webpage da utilizzare (webpage=”fatt/scheda_prodotto”)

webpage_

T

Permette di passare vari parametri alla webpage (webpage_template=”catalogo”)

th_

T

Permette di passare una serie di parametri alla risorsa th (es: th_viewResource=”ViewFromCliente”)

cacheTime

L

Il tempo di caching, in secondi, tra un caricamento e l’altro (es: cacheTime=5)

titleCounter

B

Se impostato a True, accanto alla voce di menu verrà mostrato un contatore con il numero di record presenti

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