Issabel ISO (Latest): Download Here
Cloud Services: User Portal - Quick Guide
News: Telegram channel
Become a Patron!
  • General
  • SOLICITUDES DE MEJORAS CODIGO - MODULOS

He probado a agendar una llamada, pero me sale en blanco, es decir me sale la tabla
Llamadas agendadas
N.TELEFONO AGENTE FECHA PROGRAMADA HORA PROGRAMADA ESTADO

pero sin nada debajo y en la db en calls esta correctamente agendada. igual es que me falta algo por modificar

Te pongo los ficheros que he modificado por si me he saltado algo.

modulo campain_monitorin crear carpeta libs y dentro

todo el codigo que tienes

luego en index.php

buscar

case 'checkStatus':
$sContenido = manejarMonitoreo_checkStatus($module_name, $smarty, $local_templates_dir);
break;
case 'loadPreviousLogEntries':
$sContenido = manejarMonitoreo_loadPreviousLogEntries($module_name, $smarty, $local_templates_dir);
break;

y debajo poner

case 'ver_agendadas':
//Genera listado con las llamadas programadas
$sContenido = ver_agendadas($module_name,$smarty, $local_templates_dir,$pDB,getParameter('idcampana'));
break;

justo debajo esta

default:
    // Página principal con plantilla
    $sContenido = manejarMonitoreo_HTML($module_name, $smarty, $local_templates_dir);
}
return $sContenido;

}

y añadir la funcion

function ver_agendadas($module_name,$smarty, $local_templates_dir,$pDB, $idcampana )
{
$oBreaks = new PaloSantoBreaks($pDB);
$datos=$oBreaks->Ver_Agendadas($idcampana);
$micon='<b>Llamadas agendadas</b>
<table width="100%">
<tr>
<td><b>N.TELEFONO</b></td>
<td><b>AGENTE</b></td>
<td><b>FECHA PROGRAMADA</b></td>
<td><b>HORA PROGRAMADA</b></td>
<td><b>ESTADO</b></td>
</tr>';
$cont = count($datos);
for ($i=0;$i<=$cont;$i++)
{
$micon.='<tr>
<td>'.$datos[$i][2].'</td>
<td>'.$datos[$i][19].'</td>
<td>'.$datos[$i][15].'</td>
<td>'.$datos[$i][17].'</td>
<td>'.$datos[$i][3] .'</td>
</tr>';
}
$micon.= '</table>
</div>';
return $micon;
}

igual me falta alguna parte mas por poner ya me dices cuando puedas para poder probarlo
gracias!

    otra cuestion en la tabal calls veo que se puede programar fecha inicial y fecha fin entiendo que es para que haga la llamada entre el dia x al dia y y entre la hora x y la hora y pero en la imagen que pasaste solo sale una fecha y una hora, una vez resuelva lo de poder ver las agendadas añadire la opcion de si hay dos fechas y un rango de horas mostrarlo tambien para dejarlo mas completo y si no hay agente indicado que ponga cualquiera o algo asi para indicar que es un agente libre y no salga en blanco.

    De pronto son las pequeñas cosas que se me ocurren para dejar mas completo el nuevo codigo

    espero tus sugerencias tambien a v er que te parecen

      Hola,

      Gracias a todos por el estupendo trabajo. Cuando acuerden la mejor manera de incorporar el nuevo módulo por favor hagan un pull request via Github así lo incorporamos al producto de base. Ya hemos incorporado algunas mejoras contribuidas por @cmarodriguez y @hgmnetwork

      Saludos,

        asternic espero en breve poder tener tiempo para incorporar esta mejora tambien y poder ver las llamadas agendadas espero en este fin de semana tener mas tiempo y para el lunes o martes ya tenerlo todo listo y poder hacerlo

          @asternic @hgmnetwork de nuevo por aqui, con ganas de sacar este fin de semana mas avances sobre el modulo para las llamadas agendadas.

          No se como podamos hacer para ponernos de acuerdo si dejarlo en una pagina aparte o dentro de la misma pagina de el Monitor de campaña.

          Yo propondria dejarlo aparte ya que el monitor de campaña es solo eso, un reporte mientras que el modulo de llamadas agendadas lo queremos llevar a el punto de podr reasignar agentes, poder cambiar las fechas y demas...
          Otra cosa es que a futuro se podrian asignar permisos aparte donde solo pueda ver ese reporte o tambien entrar a realizar las modificaciones de agentes y horas...

          No se que opinen, por ahora lo mantendre aparte (Igual migrarlo es muy sensillo) y espero evolucionar este fin de semana para activar la opcion para cambiar el agente a una llamada agendada.

          Quedo atento a los comentarios de todos, gracias!

          casoft En tu experiencia lo ves así, es mejor. Y que la estética de la página sea manejable. Al administrador y al usuario.

            casoft Me parece bien que sea un módulo separado. Saludos,

              Pero con testing, usen buenas practicas, por favor, me da cosas revisar el código, jajaja. Si tienen alguna pregunta, diganlo please

                en el git en los commit deberían ir colocando los cambios. porque sale mi primer commit.

                  casoft ok perfecto mejor entonces agendar llamadas aparte :D y seria genial el poder tambien hacerlo que se pueda modificar y cambiar por ejemplo el agente que esta asignado o incluso no asignar a ninguno o forzar a llamar como opciones :D cualquier modificacion y mejora será bienvenida yo ando ahora con lo de los CDR para mostrar mas informacion al descargar en cuanto lo termine me pongo a probarlo

                    Les parece si hago el setup inicial para el modulo, @casoft @dariohimo @hgmnetwork ?
                    con una configuración básica, para que cada uno aporte en su propia branch, manejando PRs, revisión y aprobación de código, y cuando esté listo, enviar un PR al repo de issabel callcenter?

                    juanelojga la mejora del call center que hice ya está subida. La de los ver de descarga estoy en ello.

                      mmmm bueno, es que no estoy de acuerdo en que trabaje de esa manera, el código no se puede leer, no se puede testear, el proposito es mejorar, mejorar las practicas, mejorar al producto como tal, se debe seguir el ejemplo de freepbx, han mejorado en todo sentido, olvidenlo, ya no intervendré.

                      juanelojga todas las mejoras que hago pongo como poder usarlas y probarlas, y una vez que me funcionan bien y las pongo aqui es cuando las envio para que las pongan tambien en el hithub de issabel y se actualicen. muchas veces los codigos que mejoramos quien los hace hace lo que puede y luego el que quiera puede mejorarlo pero eso es bien raro la verdad.

                      por ejemplo la mejora de los cdr que estoy haciendo ahora he puesto el codigo para que puedan probarlo

                      puedes participar y cuanto mas mejor de echo incluso si eres programador con mejoras de codigo tambien que asi podremos tener mas cosas que ayuden a todos.

                        juanelojga efecto Valente Juan, cómo dice @hgmnetwork los cambios que estamos haciendo los estamos publicando para que todos los puedan probar y luego de que entre todos lo aprobemos hacemos un push a el repo principal.

                          Hola a todos, sigo con algunos avances aunque me disculpo por no dedicarle mas seguido.

                          Ya he insertado los selectbox para seleccionar el agente y poder modificarlo en las llamadas agendadas.
                          Solicito la ayuda para saber como hacer de forma correcta lo siguiente:
                          Neceisto realizar la modificacion de la base de datos al cambiar el selectbox pero con ajax, que se seleccione y de forma automatica lo haga. Ya tengo identificada la funcion en paloDB para hacer la actualizacion en la base de datos pero no se si exista forma ya desarrollada para llamar esta funcion desde ajax.

                          Pueden revisar el pantallaso desde https://github.com/casoftcol/campaign_monitoring

                          Espero comentarios

                          @asternic ahora que lo recuerdo tengo una duda:
                          Estoy reutilizando librerias tales como:
                          require_once "modules/agent_console/libs/paloSantoConsola.class.php";
                          require_once("modules/agents/libs/Agentes.class.php");

                          Pero como se ve, las estoy llamando desde el directorio donde las encontre mas no copiandolas en el directorio, por buenas practicas cual seria la recomendacion...

                          Llamarlas de esta forma o copiarlas. Lo que hize fue llamarlas asi, porque creo que si el dia de mañana se actualizan si estan centralizadas en un solo directorio es mas optimo, pero no se ustedes lo vienen manejando.

                          Gracias!

                          casoft esta quedando muy bien felicidades :D una cosa segun veo en el pantallazo solo mira los agentes y no los callback, nosotros usamos mucho los callback para no tener al agente en espera siempre por eso creo que al probar las llamadas agendadas no se me muestran, para que lo tengas en cuenta y se revise tanto los agentes como los callback.

                          Lo que indicas segun veo en la imagen entiendo que quieres hacer que al cambiar el selectbox quede grabado el agente nuevo osea se haga una modificacion en la tabla. lo unico que se me ocurre asi muy rapido es hacer una funcion en javascript o ajax que llame a una url donde se le deben pasar el id o numero de la llamada agendada y el agente y este actualice la tabla

                          por ejemplo que el ajax llame al fichero actualizar_llamada_agendada.php?idllamada=12345678&extension=5001&tipo=SIP

                          en tipo seria por ejemplo SIP para callback o AGENT para agente por ejemplo

                          no se si asi te valdria y puedes obtener en el listado que sacas el id de la llamada asi es mas facil identificarla de forma unica