L’implementazione della popup di conferma in ext permette di semplificare le azioni da svolgere quando si vuole che venga chiesta la conferma, prima di eseguire un’operazione richiesta dall’utente.
Per poter usufruire della conferma in ext bisogna importare, nello stesso template in cui ci sara’ il javascript che poi chiamera’ la conferma, il file “/static/js/ext_confirm.js” :
<script type="text/javascript" src="/static/js/ext_confirm.js"></script>
Aggiungere nel proprio codice javascript le seguenti righe:
ext_confirm = new ExtConfirm({
'url': '/asterisk/record/delete/' + id_registrazione,
'msgConfirm': "Sei sicuro di voler procedere con la cancellazione della registrazione?
Questo comportera' l'eliminazione del file anche dal disco rigido. Continuare?",
'progressText': "Cancellazione in corso. Attendere..",
'success_msg' : "La registrazione e' stata cancellata correttamente",
'post_confirm' : reload_grid
});
ext_confirm.show();
I possibili parametri da passare alla classe ExtSearch sono:
Nome | Obbligatorio | Descrizione | Default |
---|---|---|---|
url | SI | indica l’url che verrà chiamato se l’utente clicca su “SI” | |
msgConfirm | NO | Messaggio che apparira’ sulla popup di conferma | ‘Sei sicuro?’ |
progressText | NO | Messaggio che apparira’ sulla poup che indica l’avanzamento dell’operazione | ‘avanzamento..’ |
f_successConfirm | NO | passandogli una funzione di conferma verra’ sovrascritta quella di default. Questa funzione verra’ chiamata in automatico non appena finisce l’operazione richiesta sul server. Creando una propria funzione di conferma si possono personalizzare le operazioni da fare per confermare la riuscita dell’operazione. La funzione di default esegue solamente queste due operazioni: - Visualizza a video una popup con la conferma di avvenuta operazione. - Chiama un’eventuale function di post_confirm. | f_successConfirm(result) |
f_failureConfirm | NO | Stessa cosa per la f_successConfirm solo che in questo caso verra’ sovrascritta la funzione chiamata in caso di un errore durante l’operazione | f_failureConfirm(result) |
success_msg | NO | Messaggio che apparira’ sulla popup con la conferma dell’avvenuta operazione, quella fatta apparire dalla funzione di default f_successConfirm | “Operazione avvenuta con successo.” |
post_confirm | NO | Eventuale funzione che deve essere chiamata dopo che e’ stato visualizzato il messaggio di conferma dell’avvenuta operazione. Ad esempio, nella post_confirm puo’ essere fatto il reload del dataStore della griglia di ext.rm | null |
Nel file urls.py associare l’url scelto sul lato javascript ad una vista
(r'^record/delete/(?P<record_id>\d+)/?$' , 'asterisk.views.delete_registrazione'),
Creare un metodo (nel nostro caso “delete_registrazione”) nella vista, che conterra’ il codice da eseguire. La vista dovra’ tornare un HttpResponse(“OK”) se l’operazione e’ stata eseguita correttamente (o comunque un codice 200 o non di errore), oppure un codice 500 (che verra’ automaticemente generato in caso di raise di un’eccezione).