# Modifica della visibilità dei campi Si può modificare la visibilità dei vari campi (valore di $readonly) e altre variabili nelle varie modalità (ListView, EditView…). Per registrare una nuova “Vista” usare il metodo: **SDK::addView($module, $src, $mode, $success);** *$module : il modulo in cui applicare la vista* *$src : il file php* *$mode : la modalità di applicazione della regola (vedere sotto)* *$success: cosa fare dopo l’applicazione della regola (vedere sotto)* Le Viste definite per ogni modulo vengono applicate nell’ordine in cui sono registrate. Quando si registrano, vengono aggiunte in coda a quelle già definite per quel modulo. Il parametro $mode ha senso solo se si modifica la variabile *$readonly, e ammette i seguenti valori:* *“constrain” : forza il valore di $readonly ad assumere il nuovo valore dato nello script.* *“restrict” : cambia il valore di $readonly solo verso un valore più restrittivo (da 1 a 99 o 100, da 99 a 100, non viceversa)* Il parametro $success invece può essere: *“continue” : dopo l’applicazione della vista, continua con la successiva* *“stop” : se la vista restituisce $success = true, non vengono eseguite altre regole* All’interno degli script sono disponibili le seguenti variabili: *$sdk\_mode : uno tra “” (create), “edit”, “detail”, “popup\_query”, “list\_related\_query”, “popup”, “related”, “list”, “mass\_edit”* *$readonly : il valore di readonly per il campo che si sta per scrivere (1, 99, 100 rispettivamente lettura/scrittura, sola lettura, nascosto)* *$col\_fields: valori dei campi, solo per $sdk\_mode = “edit”, “detail” e “”* *$fieldname o $fieldName: nome del campo corrente* *$current\_user: l’utente corrente* Ed è possibile restituire la variabile $success con true o false. A seconda della modalità (ListView, EditView, …) ci sono diversi modi per modificare le query e diverse variabili disponibili.
**Modalità****Valore di $sdk\_mode****Variabili disponibili****Note**
CreateView*""**$col\_fields* *$current\_user* *$fieldname* *$readonly* *$success*1
EditView*"edit"*
DetailView*"detail"*
MassEdit*"mass\_edit"*
PopupQuery*"popup\_query"**$sdk\_columns* *$success*2
List/RelatedQuery*"list\_related\_query"**$sdk\_columns* *$success*
Popup*"popup"**$current\_user* *$fieldname* *$sdk\_columnnames* *$sdk\_columnvalues* *$readonly* *$success*3
Related*"related"*4
List*"list"*
Note: 1. In queste modalità i valori dei campi sono in $col\_fields\[ nomi-dei-campi \] 2. Queste modalità servono per modificare la query in modo da poter prelevare campi aggiuntivi. In $sdk\_columns ci sono le colonne del db da aggiungere alla query. Includere poi il file “modules/SDK/AddColumnsToQueryView.php” 3. Per prelevare valori di altri campi, specificati nelle modalità PopupQuery e ListRelatedQuery, scriverli nell’array $sdk\_columnnames, includere il file “modules/SDK/GetFieldsFromQueryView.php” e prenderli poi da $sdk\_columnvalues 4. Nel caso della related “Storico attività” sono disponibili solo le variabili $recordId e $readonly e si applicano all'intera riga, non al singolo campo. Per de-registrare la vista usare: **SDK::deleteView($module, $src);** *$module : il modulo associato* *$src : il file php*

**Hooks** include/ListView/ListViewController.php include/utils/DetailViewUtils.php include/utils/EditViewUtils.php include/utils/ListViewUtils.php include/QueryGenerator/QueryGenerator.php Popup.php