Come comunicare all’utente il successo o fallimento di una elaborazione fatta in php.
Spesso usando logic hooks o scrivendo moduli propri, è necessario inviare messaggi all’utente che sta lavorando per comunicare errori o successi dell’elaborazione.
Per fare queste possiamo usare due semplici metodi: SugarApplication::appendErrorMessage e SugarApplication::appendSuccessMessage.
Questi metodi insieme al comando SugarApplication::redirect, permettono il controllo delle operazioni di notifica e reindirizzamento.
Vediamo un semplice esempio dove sul nostro modulo custom di nome “nome_modulo_custom”, controlliamo che il campo “campo_da_controllare” sia valorizzato e maggiore di 1000.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function save($check_notify = false) { if(!empty($this->campo_da_controllare) && $this->campo_da_controllare > 1000){ SugarApplication::appendErrorMessage("ATTENZIONE: IL CAMPO NON PUO' ESSERE VUOTO O MINORE DI 1000"); //REDIRECT ALLA PAGINA DI DETTAGLIO $params = array( 'module'=> 'nome_modulo_custom', 'action'=>'EditView', 'record'=> $this->id, ); SugarApplication::redirect('index.php?' . http_build_query($params)); die(); } parent::save($check_notify); SugarApplication::appendSuccessMessage("SALVATAGGIO AVVENUTO CON SUCCESSO"); //REDIRECT ALLA PAGINA DI ELENCO $params = array( 'module'=> 'nome_modulo_custom', 'action'=>'ListView', ); SugarApplication::redirect('index.php?' . http_build_query($params)); die(); } |
I due metodi SugarApplication::appendErrorMessage e SugarApplication::appendSuccessMessage richiedono solo la stringa da stampare a video.
Il metodo SugarApplication::redirect, invece, richiede l’indicazione della url da costruire per reindirizzare l’utente verso la nuova pagina. Nel nostro esempio rimandiamo sia all’elenco che alla pagina di dettaglio.