# Presave Si può inserire uno script personalizzato anche quando si preme il pulsante “Salva” in modalità EditView. Per registrare uno script di questo tipo usare il metodo: **SDK::setPreSave($module, $src);** *$module : il nome del modulo* *$src : il percorso dello script php* Per de-registrarlo usare il metodo: **SDK::unsetPreSave($module, $src = NULL); ***$module : il nome del modulo* *$src : il percorso dello script (se NULL, include tutti gli script registrati per quel modulo)* All’interno dello script sono disponibili le seguenti variabili: *$type : tipo di salvataggio (“MassEditSave”, “DetailView”, “EditView”, “createTODO”, “QcEditView”, “ConvertLead”, “createQuickTODO”, “Kanban”)* *$values : (array) nuovi valori* Nota: nel caso MassEditSave, è possibile conoscere i record coinvolti richiamando la funzione getListViewCheck($currentModule); Nota: nel caso createQuickTODO i campi disponibili in $values sono i seguenti:
EventiTODO
Module => 'Calendar',CalendarTitle, CalendarStartTime, CalendarEndTime, IsAllDayEvent, timezone, EventType, Description, LocationModule = 'Calendar', activity\_mode => Task,hour, day, month, year, task\_time\_start, task\_subject, task\_description, taskstatus, taskpriority, task\_assigntype, task\_assigned\_user\_id, task\_assigned\_group\_id, starthr, startmin, startfmt, task\_date\_start, task\_due\_date
E possono essere restituite le seguenti: *$status : (bool) se il salvataggio ha avuto successo o no* *$message: (string) se presente viene mostrato un popup con il messaggio* *$confirm: (bool) se vero viene mostrato un popup Javascript che chiede conferma per proseguire, mostrando $message. In tal caso non si deve impostare $status.* *$focus : (string) in caso di errore, l’elemento che prende il focus (solo se $status = false)* *$changes: (array) valori da assegnare ai campi (solo se $status = false)* Le variabili $focus e $changes sono disponibili solo quando $status è false e $type è uno tra 'EditView', 'createTodo', 'QcEditView', 'ConvertLead'.

**Hooks** include/js/general.js include/js/KanbanView.js modules/Calendar/script.js modules/Calendar/wdCalendar/sample.php modules/Leads/Leads.js modules/Users/Forms.php modules/VteCore/KanbanAjax.php Smarty/templates/Header.tpl Smarty/templates/ComposeEmail.tpl Smarty/templates/Popup.tpl