he podido revisarlo y ya he podido hacer que se guarden los datos solo si se ha añadido o modificado algun campo para evitar perder los datos.
El codigo queda asi
/var/www/html/modules/agent_console/themes/default/js/javascript.js
en las primeras lineas encontraran
// Copia del URL a cargar al agregar la nueva cejilla
var jqueryui_tabs_use_refresh = true;
var externalurl = null;
var externalurl_title = null;
añadir justo debajo
//creado por hgmnetwork.com para autoguardar formulario solo si hay cambios
var guardar_cambios = null;
luego mas abajo buscar
case 'holdenter':
estadoCliente.onhold = true;
// TODO
break;
case 'holdexit':
estadoCliente.onhold = false;
// TODO
break;
case 'agentlinked':
// El agente ha recibido una llamada
y añadir justo debajo este codigo para con cada llamada reiniciar el valor de los cambios
guardar_cambios='no';
console.log('El agente recibe una llamada por defecto guardar_cambios a no');
y mas abajo buscar
apply_form_styles();
$('#btn_guardar_formularios').button('enable');
abrir_url_externo(respuesta[i].urlopentype, respuesta[i].url);
y añadir esto
//modificado por hgmnetwork.com para detectar si guarda cambios si se ha modificado el formulario
$('input:text,input:checkbox,input:radio,textarea,select').one('change', function(){
guardar_cambios = 'si';
console.log("guardar cambios es " + guardar_cambios);
});
break;
case 'agentunlinked':
// El agente se ha desconectado de la llamada
var l_calltype = estadoCliente.calltype;
var l_campaign_id = estadoCliente.campaign_id;
estadoCliente.calltype = null;
estadoCliente.campaign_id = null;
estadoCliente.callid = null;
y justo debajo de esto añadir
//modificado por hgmnetwork.com para autoguardar datos del formulario
//alert('autoguardado 14:46');
if (guardar_cambios=='si'){
do_save_forms();
console.log('Se ha autoguardado el formulario');
};
$('#btn_hangup').button('disable');
$('#btn_transfer').button('disable');
y listo con esto se guardaran los cambios del formulario de los agentes sin pulsar el boton de guardar de forma automatica siempre que se rellene 1 de los campos del formulario. no obstante si el agente le da a guardar tambien se almacena de nuevo.
En breve espero investigar y ver si puedo añadir en el apartado de opciones del call center una opcion extra que sea autoguardar formulario para que si se marca se autoguarde y si no se marca sea manual como actualmente.
Asi se podrá tener las dos opciones.
espero que les sirva!