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.
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