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

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

                        Una cosa Casoft, descargue tu codigo pero veo muchas carpetas y ficheros hay que subirlos dentro de html/modules/?? si me puedes orientar a como dejarlo instalado para probarlo te lo agradezco,

                          Ya quedo listo en GitHub, perdon pero fue culpa de mi inexperiencia! jejej

                          Si la idea es remplazar esos archivos por los que estran dentro de la carpeta /var/www/html/modules/campaign_monitoring

                          Los reemplazas y listo

                          casoft Ok, en cuanto tenga un hueco lo reviso y lo pruebo :D dentro del listado de Agendadas, se podria ver si se ha realizado llamadas anteriores ? no me he fijado en la db como se almacena lo pruebo a l anoche o mañana que espero tener algo mas de tiempo.

                          Muy buen aporte Casoft, en cuanto pueda lo pruebo y si me da tiempo lo intento preparar para el uso de idiomas y adaptarlo para pruebas y subirlo a la oficial que seguro muchos lo utilizaran :D

                            casoft he modificado a mano ya que tengo mucha parte de codigo retocada por mi y cambiar todo me cambiaria mucho, pero ya lo he podido probar y esta genial.

                            He realizado un pequeño cambio a ver que les parece, al darle a ver llamadas agendadas cargaria lo mismo que monitoring y debajo ( en vez de un pagina nueva solo) añade al final las llamadas agendadas de la campaña asi se tiene en la misma pagina y es mas facil cambiar de campaña o realizar cualquier opcion.

                            el codigo que he modificado es bien facil solo es añadir esto en el index.php

                            buscamos case 'ver_agendadas':

                             break;
                                case 'ver_agendadas':

                            //mostramos la informacion de la campaña en la parte superior prueba hgmnetwork.com 10-07-2018
                            $sContenido = manejarMonitoreo_HTML($module_name, $smarty, $local_templates_dir);
                            //Genera listado con las llamadas programadas
                            $sContenido .= ver_agendadas($module_name,$smarty, $local_templates_dir,$pDB,getParameter('idcampana'));
                            break;
                            default:

                            añadimos primero el modulo de la campaña y debajo ponemos la misma variable con . para que añada el resto.

                            como les parece mejor ? en un panel por separado o debajo ? se puede poner tambien de mas formas es cuestion de que valoremos cual es mas útil en general.

                            Tambien se puede poner al revés, primero las agendadas y debajo la información de la campaña asi no se pierde de vista las llamadas y agentes mientras se revisan las agendadas.

                              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