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

Pues mira que me parece mucho mas facil la parte de ver las llamadas agendadas, creo que me arriesgare y comenzare por ahi para cojer mas confianza, me queda es la duda las consultas a la base de datos, el modulo callcenter sera que crea funciones independientes por modulo o lo hara en algun archivo centralizado, sera que @asternic nos puede guiar?

Mi idea es generar la siguiente consulta:
select * from call_center.calls where scheduled='1' and id_campaing='$idcampana'
igual luego se hace mas extensa para sacar los datos de el contacto y demas.. pero ese seria mi primer paso, la pregunta puntual es:

Cual es el objeto con el cual debemos generar esta consulta de forma correcta?

    casoft ok me parece. Buena idea. Hasta donde he revisado cada módulo tiene sus funciones y clases y luego algunas son grupales. Dentro del módulo suele tener ficheros.

    Revisa cualquier módulo que muestre registros de ver y puedes obtnener ideas por ejemplo el mismo del cdr puedes copiarlo y solo cambiar el sql para que muestre las agendadas de todas las campañass o filtrar por campana

      amigos. en github pueden subir el código, y me apunto para ser las pruebas.

        Si la idea es una vez tengamos el código compartirlo para mejorar el módulo que creo que serían aportes muy buenos

          Bueno les dejo un pantallazo con los avances logrados a el dia de hoy.
          Ya las estoy pintando, y llamando correctamente, me falta depurar mucho el codigo pero la base ya esta un 90%

          No se que mas datos crean importantes ahi en esa tabla, algo que vi que me falto es el estado, si la llamada ya fue efectuada o aun no (Aunque lo sabriamos con la fecha, pero visualmente ayudaria mucho)

          Quedo atento a los comentarios de todos.
          Aqui pueden ver el pantallazo de como vamos:
          https://casoft.com.co/isa1.png

          Por si a caso aqui tienes una base para un modulo de Issabel:

          https://github.com/juanelojga/my_issabel_module

          Solo tendrias que crear un modelo, en donde basicamente es poner el query a ejecutar, y luego en el index.php colocar las columnas a mostrar, es muy sencillo.

          Te aparece la tabla, respetando el framework de Issabel

            Clonas el repositorio, le cambias el remote, a uno propio, y puedes comenzar a trabajar. Puedes postear el link de tu repo para poder colabor con codigo, sugerencias, qa, etc.

              @juanelojga Si ese lo evalue, pero la verdad use como base el modulo break_administrator y con ese estoy comenzando a construir este de el cual los avances son los que estoy mostrando.

              De igual forma gracias por la información.

                bueno, pero este tiene buenas practicas, puedes hacer testing facilmente, ya viene lista la conexion a la base de datos, traits, contracts, etc.

                  Es cierto, aunque palosanto también implementa los objetos y tiene una librería para hacer todo dentro de la base de datos, consultar, insertar, actualizar,etc..
                  Por eso opte por ese módulo, y me guíe con los otros para hacer las consultas.

                  Ahora sólo me falta revisar el tema de los themes y la forma de pintar la consulta, ya que en el ejemplo que monte, llamé el HTML y el resultado de la consulta desde el mismo lugar y veo que palo santo lo hace de una manera diferente que aún me falta estudiar mejor para aprender a hacerlo de esa manera.

                    casoft Genial tiene buena pinta :D lo unico no se si eso es para ver campaña, por campaña o hay mostraria los de todas las campañas por lo que se podría añadir el campo de Campaña y alguna opción por ejemplo para lanzar la llamada ya o cambiar el numero de agente aunque ya eso seria mas avanzado de momento con mostrar esos datos esta genial ! :D en cuanto tengas mas o menos esa opcion si pones el codigo por aqui lo pruebo yo también y vamos viendo. te esta quedando muy bien :D y un gran aporte cuando este terminado

                      hgmnetwork efectivamente, ya esta funcional, la idea es que al ingresar a el modulo "Monitoreo de campaña" exista un boton que me lleve a la seccion de el modulo y me pase por parametro el ID de la campaña con el cual voy a hacer la consulta a la base de datos.

                      Neceisto la ayuda de alguien para crear ese boton dentro de el modulo y que me pase como parametro idcampana con el numero de la campaña. Si alguien sabe como hacerlo de forma rapida le agradezco ya que si lo paso por URL me funciona pero no he podido crear el boton, no se como construirlo en ese modulo.
                      La URL me pasa asi manualmente y me funciona:
                      index.php?menu=campaign_monitoring&action=ver_agendadas&idcampana=2

                      Lo de cambiar el numero de el agente lo voy a revisar creo que es algo viable y sensillo, espero esta noche poder montar el codigo.

                        casoft Hola Casoft, he creado un boton rapido con lo que pides, no es lo mas bonito ya que puse texto pero es funcional :D he mantenido el hash (#/detailt....)para poder cambiar entre url a posterior sin problema

                        lo he creado con javascript pero lo he probado y creo es funcionarl

                        te explico como implementarlo

                        edita el fichero

                        vi /var/www/html/modules/campaign_monitoring/themes/default/informacion_campania.tpl

                        donde pone al principio casi
                        <script type="text/x-handlebars" data-template-name="campaign">

                        <b>{$ETIQUETA_CAMPANIA}:</b>
                        {literal}
                        {{view Ember.Select
                        contentBinding="content"
                        optionValuePath="content.key_campaign"
                        optionLabelPath="content.desc_campaign"
                        valueBinding="key_campaign" }}
                        {/literal}

                        {literal}{{outlet}}{/literal}

                        </script>
                        añade esto

                        <!--
                        creado por hgmnetwork.com 09-07-2018 para pruebas
                        funcion para obtener el id de campaña en funcion del hash ejemplo #/details/outgoing/10 nos devuelve 10
                        -->
                        <script>
                        function obtener_idcampania (){
                        //alert("entra");
                        var URLactual = window.location.hash;
                        //alert(URLactual);
                        var idcampania = URLactual.replace("#/details/outgoing/", "");
                        //console.log(idcampania);
                        console.log("el id de campania es " + idcampania);
                        document.location.href="index.php?menu=campaign_monitoring&action=ver_agendadas&idcampana=" + idcampania;
                        }

                        </script>

                        [ <a href="javascript:obtener_idcampania();">ver llamadas Agendadas</a> ]

                        ( puedes quitar lo de hgm eso lo pongo en codigo para saber los cambios que hago si no luego el codigo seria una locura con las pruebas que hago :D )

                        y justo debajo ya aparece donde se selcciona campaña

                        quedaria asi

                        [ <a href="javascript:obtener_idcampania();">ver llamadas Agendadas</a> ]
                        <script type="text/x-handlebars" data-template-name="campaign/details">
                        { Atributos de la campaña elegida }
                        <table width="100%" >
                        <tr>
                        <td><b>{$ETIQUETA_FECHA_INICIO}:</b></td>
                        <td>{literal}{{fechaInicio}}{/literal}</td>
                        <td><b>{$ETIQUETA_FECHA_FINAL}:</b></td>

                        con eso al hacer click en el texto de ver llamadas agendadas cambiaria a la url que me indicaste de la siguiente forma

                        index.php?menu=campaign_monitoring&action=ver_agendadas&idcampana=(el id que se tenga seleccionado)#...

                        un ejemplo quedaria asi

                        https://ip.voip.algo/index.php?menu=campaign_monitoring&action=ver_agendadas&idcampana=4#/details/outgoing/4

                        espero te ayude cualquier cosa me avisas y la miro a ver si puedo ayudarte en lo maximo posible y lo mas rapido posible porque me parece muy buen aporte e interesante esa opcion de ver las agendadas :D

                        cualquier cosa que necesites si puedo ayudarte encantado.

                          hgmnetwork EXCELENTE!!!!!!

                          Ya podemos liberar la primer alpha de el modulo con esas modificaciones, gracias a ese boton que la verdad me habia quedado grande crearlo.

                          Aqui monto el link para la descarga, espero crear un repositorio en github como te habian sugerido para mejorar desde ahi las cosas, pero por ahora podemos avanzar por aqui.

                          https://casoft.com.co/issabeldev/campaign_monitoring.tgz

                          Los Betta tester son bienvenidos!

                          casoft subelo a git y de ahi se baja y también realizas un push hacia issabel para siguiente iso que saldra. gracias.

                            casoft Amigos el aporte es bueno, pero centralizar en un git va facilitar los cambios y llevar control.

                            sobre el archivo tbz en que ruta se debe colocar para ver los cambios.?

                              dale un push hacia issabel_foundation así lo tengan en cuenta. Gracias.

                                No sale en Github me guiare por tu codigo y lo pruebo y hago pruebas y te voy diciendo pero inicialmente genial :D una cosa mas mejorada y que nos ayudará a muchos ! ahora a probarlo

                                PAra hacer el push hay que todavia perfilarlo mas para que el texto del link y demas los use desde los ficheros de idiomas, ya que ahora estaria solo en español, de eso me puedo encargar yo, en cuanto tenga un hueco a probarlo me pongo con los cambios de idioma para hacerlo si le parece bien a casoft