/** * Seleccionar los ultimas acciones de los modulos * de (Propiedad, Actibidad y Oportunidades) * * */ function seleccionar_historial_modulos() { $notificaciones = array(); //datos provienen de filtro busqueda $fecha_inicio = $this->input->post('fecha_inicio', true); $fecha_fin = $this->input->post('fecha_fin', true); $uuid_usuario = $this->input->post('uuid_usuario', true); /** * Array con los uuid de usuarios * que el usario actual puede ver. */ $ver_usuarios = @CRM_Controller::andrea_ACL(); //------------------------------- // Notificaciones Oportunidades //------------------------------- //Permiso Default: ver las asignadas o las que ha creado $oportunidad_clause = "opp.nombre <> ''"; /** * verificar array $ver_usuarios */ //if(!empty($ver_usuarios["uuid_usuario"]) && CRM_Controller::$categoria_usuario_key != "admin"){ if (!empty($ver_usuarios["uuid_usuario"])) { $usuarios = $ver_usuarios["uuid_usuario"]; $usuarios = !empty($usuarios) ? implode(", ", array_map(function ($usuarios) { return "'" . $usuarios . "'"; }, $usuarios)) : ""; $oportunidad_clause = "HEX(opp.id_asignado) IN(" . $usuarios . ")"; } //Si existe busqueda por el usuario //No aplicar condicion de subordinado if (!empty($uuid_usuario)) { $oportunidad_clause = "(HEX(opp.id_asignado) IN('" . $uuid_usuario . "')"; } //Colocar filtro por fecha if (!empty($fecha_inicio)) { $fecha_inicio = date("Y-m-d H:i:s", strtotime($fecha_inicio)); $oportunidad_clause .= " AND opp.fecha_creacion >= '{$fecha_inicio}'"; } if (!empty($fecha_fin)) { $fecha_fin = date("Y-m-d 23:59:59", strtotime($fecha_fin)); $oportunidad_clause .= " AND opp.fecha_creacion <= '{$fecha_fin}'"; } $sql_oportunidad = "SELECT DISTINCT HEX(opp.uuid_oportunidad) AS uuid, opp.nombre, 'oportunidad' AS 'modulo', opp.fecha_creacion AS fecha,\n\t\t\t\tCONCAT_WS(' ', IF(usr2.nombre != '', usr2.nombre, ''), IF(usr2.apellido != '', usr2.apellido, '')) AS nombre_usuario\n\t\t\t\tFROM (`opp_oportunidades` AS opp)\n\t\t\t\tLEFT JOIN `cl_clientes` AS cl ON `cl`.`uuid_cliente` = `opp`.`uuid_cliente`\n\t\t\t\tLEFT JOIN `cp_clientes_potenciales` AS clp ON `clp`.`uuid_cliente_potencial` = `opp`.`uuid_cliente_potencial`\n\t\t\t\tLEFT JOIN `cl_cliente_sociedades_contactos` AS clcon ON `clcon`.`uuid_cliente` = `cl`.`uuid_cliente`\n\t\t\t\tLEFT JOIN `con_contactos` AS con ON `con`.`uuid_contacto` = `clcon`.`uuid_contacto`\n\t\t\t\tLEFT JOIN `opp_oportunidades_cat` AS ocat ON `ocat`.`id_cat` = `opp`.`id_etapa_venta`\n\t\t\t\tLEFT JOIN `usuarios` AS usr1 ON `usr1`.`uuid_usuario` = `opp`.`id_asignado`\n\t\t\t\tLEFT JOIN `usuarios` AS usr2 ON `usr2`.`uuid_usuario` = `opp`.`creado_por`\n\t\t\t\tLEFT JOIN `cl_clientes_cat` AS ccat ON `ccat`.`id_cat` = `cl`.`id_tipo_cliente`\n\t\t\t\tLEFT JOIN `rpo_propiedades` AS prop ON `prop`.`uuid_propiedad` = `opp`.`uuid_propiedad`\n\t\t\t\tWHERE ocat.etiqueta NOT IN('Ganado','Perdido') AND {$oportunidad_clause}"; //------------------------------- // Notificaciones de Actividades //------------------------------- $actividad_clause = "act.cancelado = 0 AND act.completada = 0 "; if (!empty($ver_usuarios["uuid_usuario"])) { $usuarios = $ver_usuarios["uuid_usuario"]; $usuarios = !empty($usuarios) ? implode(", ", array_map(function ($usuarios) { return "'" . $usuarios . "'"; }, $usuarios)) : ""; $actividad_clause = "HEX(usr.uuid_usuario) IN(" . $usuarios . ")"; } //Si existe busqueda por el usuario //No aplicar condicion de subordinado if (!empty($uuid_usuario)) { $actividad_clause = "(HEX(usr.uuid_usuario) IN('" . $uuid_usuario . "'))"; } //Colocar filtro por fecha if (!empty($fecha_inicio)) { $fecha_inicio = date("Y-m-d H:i:s", strtotime($fecha_inicio)); $actividad_clause .= " AND act.fecha_creacion >= '{$fecha_inicio}'"; } if (!empty($fecha_fin)) { $fecha_fin = date("Y-m-d 23:59:59", strtotime($fecha_fin)); $actividad_clause .= " AND act.fecha_creacion <= '{$fecha_fin}'"; } $sql_actividad = "SELECT DISTINCT HEX(act.uuid_actividad) AS uuid, act.asunto AS nombre, 'actividad' AS 'modulo', act.fecha_creacion AS fecha,\n\t\t\t\t\t\tCONCAT_WS(' ', IF(usr.nombre != '', usr.nombre, ''), IF(usr.apellido != '', usr.apellido, '')) AS nombre_usuario\n\t\t\t\t\t\tFROM (`act_actividades` AS act)\n\t\t\t\t\t\tLEFT JOIN `act_tipo_actividades` AS tact ON `tact`.`uuid_tipo_actividad` = `act`.`uuid_tipo_actividad`\n\t\t\t\t\t\tLEFT JOIN `usuarios` AS usr ON `usr`.`uuid_usuario` = `act`.`uuid_asignado`\n\t\t\t\t\t\tLEFT JOIN `cl_clientes` AS cl ON `act`.`uuid_cliente` = `cl`.`uuid_cliente`\n\t\t\t\t\t\tLEFT JOIN `cl_clientes_sociedades` AS csoc ON `csoc`.`uuid_sociedad` = `act`.`uuid_sociedad`\n\t\t\t\t\t\tLEFT JOIN `con_contactos` AS con ON `con`.`uuid_contacto` = `act`.`uuid_contacto`\n\t\t\t\t\t\tLEFT JOIN `act_actividades_cat` AS acat ON `act`.`relacionado_con` = `acat`.`id_cat`\n\t\t\t\t\t\tWHERE {$actividad_clause}"; //------------------------------- // Notificaciones de Propiedaes //------------------------------- /*if(CRM_Controller::$categoria_usuario_key == 'admin'){ $propiedades_clause = "rpo.nombre <> ''"; }else{*/ // $propiedades_clause = "HEX(rpo.uuid_categoria) = 'HEX(". CRM_Controller::$uuid_categoria_usuario .")'"; //} //Colocar filtro por fecha if (!empty($fecha_inicio)) { $fecha_inicio = date("Y-m-d H:i:s", strtotime($fecha_inicio)); $actividad_clause .= " AND rpo.fecha_creacion >= '{$fecha_inicio}'"; } if (!empty($fecha_fin)) { $fecha_fin = date("Y-m-d 23:59:59", strtotime($fecha_fin)); $actividad_clause .= " AND rpo.fecha_creacion <= '{$fecha_fin}'"; } /* $sql_propiedad = "SELECT DISTINCT HEX(`rpo`.`uuid_propiedad`) AS uuid, `rpo`.`nombre` AS nombre, 'propiedad' AS 'modulo', rpo.fecha_creacion AS fecha, CONCAT_WS(' ', IF(usr.nombre != '', usr.nombre, ''), IF(usr.apellido != '', usr.apellido, '')) AS nombre_usuario FROM (`rpo_propiedades` AS rpo) LEFT JOIN `rpo_propiedad_proyecto` AS prop_proy ON `prop_proy`.`uuid_propiedad` = `rpo`.`uuid_propiedad` LEFT JOIN `proy_proyectos` AS pry ON `pry`.`uuid_proyecto` = `prop_proy`.`uuid_proyecto` LEFT JOIN `rpo_propiedades_cat` AS cat ON `cat`.`id_cat` = `rpo`.`id_tipo_propiedad` LEFT JOIN `rpo_propiedades_cat` AS cat2 ON `cat2`.`id_cat` = `rpo`.`id_estado_propiedad` LEFT JOIN `usuarios` AS usr ON `usr`.`id_usuario` = `rpo`.`creado_por` WHERE $propiedades_clause";*/ //------------------------------- // Notificaciones de Proyectos //------------------------------- /*$fields = array ( "pry.id_proyecto", "pry.nombre", "pry.fecha_creacion", "ccat.etiqueta as tipo", "HEX(pry.uuid_proyecto) AS uuid_proyecto", "CONCAT_WS(' ', IF(usr.nombre != '', usr.nombre, ''), IF(usr.apellido != '', usr.apellido, '')) AS creado_por", ); $proyectos = $this->db->select($fields) ->distinct() ->from('proy_proyectos AS pry') ->join('proy_proyectos_cat AS ccat', 'ccat.id_cat = pry.id_tipo', 'LEFT') ->join('proy_proyectos_cat AS ccat2', 'ccat2.id_cat = pry.id_fase', 'LEFT') ->join('usuarios AS usr', 'usr.uuid_usuario = pry.creado_por', 'LEFT') ->join('rpo_propiedad_proyecto AS rpo_pry', 'rpo_pry.uuid_proyecto = pry.uuid_proyecto', 'LEFT') ->join('rpo_propiedades AS rpo', 'rpo.uuid_propiedad = rpo_pry.uuid_propiedad', 'LEFT') ->join('opp_oportunidades AS opp', 'opp.uuid_propiedad = rpo.uuid_propiedad', 'LEFT') //->where($clause) ->get() ->result_array(); if(!empty($proyectos)) { foreach($proyectos AS $proyecto) { $creado_por = !empty($proyecto) && !empty($proyecto["creado_por"]) ? $proyecto["creado_por"] : ""; $nombre_proyecto = !empty($proyecto) && !empty($proyecto["nombre"]) ? $proyecto["nombre"] : ""; $fecha_creacion = !empty($proyecto) && !empty($proyecto["fecha_creacion"]) ? $proyecto["fecha_creacion"] : ""; $tiempo_transcurrido = !empty($proyecto) && !empty($proyecto["fecha_creacion"]) ? Util::timeago($proyecto["fecha_creacion"]) : ""; $notificaciones[$i]["mensaje"] = $creado_por. ' ha creado el proyecto '. $nombre_proyecto; $notificaciones[$i]["tiempo_transcurrido"] = $tiempo_transcurrido; $notificaciones[$i]["fecha"] = ($fecha_creacion != "" && $fecha_creacion != "0000-00-00 00:00:00" ? Util::translate_date_to_spanish(date('l d \d\e F Y \d\e Y - h:i a', strtotime($fecha_creacion))) : ""); $i++; } }*/ //Cantidad de registros a mostrar $limit = !empty($_POST["limit"]) ? (int) $this->input->post('limit', true) : 5; $tables = ""; if (Auth::has_permission('acceso', 'oportunidades/listar-oportunidades')) { $tables .= "({$sql_oportunidad})"; } /*if(Auth::has_permission('acceso', 'propiedades/listar-propiedades')){ $tables .= $tables != "" ? " UNION ($sql_propiedad)" : "($sql_propiedad)"; }*/ if (Auth::has_permission('acceso', 'actividades/listar-actividades')) { $tables .= $tables != "" ? " UNION ({$sql_actividad})" : "({$sql_actividad})"; } /*$sql = "SELECT td.* FROM ( ($sql_oportunidad) UNION ($sql_actividad) UNION ($sql_propiedad)) AS td ORDER BY td.fecha DESC LIMIT 0, %s";*/ if (empty($tables)) { return false; } /*echo $tables; die(); */ $sql = "SELECT td.* FROM ({$tables}) AS td ORDER BY td.fecha DESC LIMIT 0, %s"; $sql = sprintf($sql, $limit); $results = $this->db->query($sql)->result_array(); $i = 0; if (!empty($results)) { foreach ($results as $result) { $nombre_usuario = !empty($result) && !empty($result["nombre_usuario"]) ? $result["nombre_usuario"] : ""; $nombre_notificacion = !empty($result) && !empty($result["nombre"]) ? $result["nombre"] : ""; $tipo_notificacion = !empty($result) && !empty($result["modulo"]) ? $result["modulo"] : ""; $fecha_creacion = !empty($result) && !empty($result["fecha"]) ? $result["fecha"] : ""; $tiempo_transcurrido = !empty($fecha_creacion) && !empty($fecha_creacion) ? Util::timeago($fecha_creacion) : ""; $notificaciones[$i]["mensaje"] = $nombre_usuario . ' ha creado la ' . $tipo_notificacion . ' ' . $nombre_notificacion; $notificaciones[$i]["tiempo_transcurrido"] = $tiempo_transcurrido; $notificaciones[$i]["fecha"] = $fecha_creacion != "" && $fecha_creacion != "0000-00-00 00:00:00" ? Util::translate_date_to_spanish(date('l d \\d\\e F Y \\d\\e Y - h:i a', strtotime($fecha_creacion))) : ""; $i++; } } return $notificaciones; }
function ver_proyecto($uuid_proyecto = NULL) { if (!Auth::has_permission("acceso", "proyectos/ver-proyecto/(:any)")) { redirect('/'); } $data = array("proyecto" => $this->proyectos_model->seleccionar_informacion_proyecto($uuid_proyecto), "uuid_proyecto" => $uuid_proyecto); $mensaje = array(); /* * Verificar si existe alguna variable de session * proveniente de algun formulario de crear/editar */ if ($this->session->userdata('uuid_proyecto')) { //Borrar la variable de session $this->session->unset_userdata('uuid_proyecto'); //Establecer el mensaje a mostrar $data["mensaje"]["clase"] = "alert-success"; $data["mensaje"]["contenido"] = "Se ha actualizado el proyecto satisfactoriamente."; } if ($this->session->userdata('uuid_cliente')) { //Borrar la variable de session $this->session->unset_userdata('uuid_cliente'); //Establecer el mensaje a mostrar $data["mensaje"]["clase"] = "alert-success"; $data["mensaje"]["contenido"] = "Se ha creado el Cliente satisfactoriamente."; } if (!empty($_POST)) { $response = $this->proyectos_model->actualizar_proyecto($uuid_proyecto); if ($response == true) { redirect(base_url('proyectos/ver-proyecto/' . $uuid_proyecto)); } else { //Establecer el mensaje a mostrar $data["mensaje"]["clase"] = "alert-danger"; $data["mensaje"]["contenido"] = "Hubo un error al tratar de actualizar el proyecto."; } } //Introducir mensaje de error al arreglo //para mostrarlo en caso de haber error $data["message"] = $mensaje; $this->assets->agregar_css(array('public/assets/css/default/ui/base/jquery-ui.css', 'public/assets/css/default/ui/base/jquery-ui.theme.css', 'public/assets/css/plugins/jquery/jqgrid/ui.jqgrid.bootstrap.css', 'public/assets/css/plugins/jquery/jqgrid/ui.jqgrid.css')); $this->assets->agregar_js(array('public/assets/js/plugins/ckeditor/ckeditor.js', 'public/assets/js/plugins/ckeditor/adapters/jquery.js', 'public/assets/js/plugins/bootstrap/bootstrap-tagsinput.js', 'public/assets/js/plugins/jquery/jquery.sticky.js', 'public/assets/js/plugins/jquery/switchery.min.js', 'public/assets/js/plugins/jquery/jQuery.resizeEnd.js', 'public/assets/js/plugins/jquery/jqgrid/i18n/grid.locale-es.js', 'public/assets/js/plugins/jquery/jqgrid/jquery.jqGrid.min.js', 'public/assets/js/plugins/jquery/jqgrid/plugins/jQuery.jqGrid.columnToggle.js', 'public/assets/js/plugins/jquery/jquery-validation/jquery.validate.min.js', 'public/assets/js/plugins/jquery/jquery-validation/localization/messages_es.min.js', 'public/assets/js/plugins/jquery/chosen.jquery.min.js', 'public/assets/js/plugins/jquery/jquery-inputmask/inputmask.js', 'public/assets/js/plugins/jquery/jquery-inputmask/jquery.inputmask.js', 'public/assets/js/default/formulario.js', 'public/assets/js/modules/proyectos/ver_proyecto.js')); //Agregra variables PHP como variables JS $this->assets->agregar_var_js(array("uuid_proyecto" => $uuid_proyecto, "permiso_editar_proyecto" => $this->auth->has_permission('ver-proyecto__editarProyecto', 'proyectos/ver-proyecto/(:any)') == true ? 'true' : 'false')); $this->template->agregar_titulo_header('Proyectos'); $breadcrumb = array("titulo" => '<i class="fa fa-cubes"></i> Proyectos', "ruta" => array(0 => array("nombre" => "Inventario", "activo" => false), 1 => array("nombre" => 'Proyectos', "url" => 'proyectos/listar-proyectos', "activo" => false), 2 => array("nombre" => '<b>Vista</b>', "activo" => true)), "menu" => array("nombre" => "Crear", "url" => "proyectos/crear-proyecto", "opciones" => array())); //Verificar si tiene permiso de Exportar if ($this->auth->has_permission('listar-propiedades__exportar', 'propiedades/listar-propiedades')) { $breadcrumb["menu"]["opciones"]["#exportarPropiedadBtn"] = "Exportar"; } $this->template->agregar_breadcrumb($breadcrumb); $this->template->agregar_contenido($data); $this->template->visualizar(); }
public function ajax_listar_casos() { //Just Allow ajax request if ($this->input->is_ajax_request()) { /** * Get the requested page. * @var int */ $page = (int) $this->input->post('page', true); /** * Get how many rows we want to have into the grid * rowNum parameter in the grid. * @var int */ $limit = (int) $this->input->post('rows', true); /** * Get index row - i.e. user click to sort * at first time sortname parameter - after that the index from colModel. * @var int */ $sidx = $this->input->post('sidx', true); /** * Sorting order - at first time sortorder * @var string */ $sord = $this->input->post('sord', true); /** * Inicializar variable $clause de busqueda */ $clause = array(); /** * Verificar si existe algun $_POST * de los campos de busqueda */ $asunto = $this->input->post('asunto', true); $nombre_cliente = $this->input->post('cliente', true); $estado = $this->input->post('estado', true); $fecha_desde = $this->input->post('fecha_desde', true); $fecha_hasta = $this->input->post('fecha_hasta', true); $uuid_cliente = $this->input->post('uuid_cliente', true); $fecha_creacion_inicio = $this->input->post('fecha_creacion_inicio', true); $fecha_creacion_fin = $this->input->post('fecha_creacion_fin', true); if (!empty($asunto)) { $clause["cas.asunto LIKE '%{$asunto}%'"] = NULL; } if (!empty($nombre_cliente)) { $clause["cl.nombre LIKE '%{$nombre_cliente}%'"] = NULL; } if (!empty($estado)) { $clause["cas.id_estado = '{$estado}'"] = NULL; } if (!empty($fecha_desde)) { $clause["cas.fecha_cracion >= '%{$fecha_desde}%'"] = NULL; } if (!empty($fecha_hasta)) { $clause["cas.fecha_cracion <= '%{$fecha_hasta}%'"] = NULL; } if (!empty($uuid_cliente)) { //$clause["cas.uuid_cliente = '$uuid_cliente'"] = NULL; $clause["cas.uuid_cliente = UNHEX('{$uuid_cliente}')"] = NULL; } if (!empty($fecha_creacion_inicio)) { $fecha_creacion_inicio = date("Y-m-d H:i:s", strtotime($fecha_creacion_inicio)); $clause["cas.fecha_cracion >="] = $fecha_creacion_inicio; } if (!empty($fecha_creacion_fin)) { $fecha_creacion_fin = date("Y-m-d 23:59:59", strtotime($fecha_creacion_fin)); $clause["cas.fecha_cracion <="] = $fecha_creacion_fin; } //Query a Base de Datos para listar todos los casos $contarCasos = $this->casos_model->contar_casos($clause); //Escribir en cache el query de total de casos //Tiempo: 2 horas /*CRM_Controller::$cache->set("contarCasos", $contarCasos , 120); }*/ /** * Total rows found in the query. * @var int */ $count = !empty($contarCasos) && count($contarCasos) > 0 ? count($contarCasos) : 0; /** * Calcule total pages if $coutn is higher than zero. * @var int */ $total_pages = $count > 0 ? ceil($count / $limit) : 0; // if for some reasons the requested page is greater than the total // set the requested page to total page if ($page > $total_pages) { $page = $total_pages; } /** * calculate the starting position of the rows * do not put $limit*($page - 1). * @var int */ $start = $limit * $page - $limit; // do not put $limit*($page - 1) // if for some reasons start position is negative set it to 0 // typical case is that the user type 0 for the requested page if ($start < 0) { $start = 0; } //Verificar en cache si existe el contador de casos /*$listaClientes = CRM_Controller::$cache->get("listaClientes"); if($listaClientes == null) {*/ //Query a Base de Datos para listar todos los casos $listaCasos = $this->casos_model->listar_casos($clause, $sidx, $sord, $limit, $start); //Escribir en cache el query de total de clientes //Tiempo: 2 horas /*CRM_Controller::$cache->set("listaClientes", $listaClientes , 120); }*/ //Constructing a JSON $response = new stdClass(); $response->page = $page; $response->total = $total_pages; $response->records = $count; $i = 0; if (!empty($listaCasos)) { foreach ($listaCasos as $i => $row) { $link = $row['uuid_cliente'] . '-' . $row['uuid_caso']; $hidden_options = ""; $link_option = '<button class="viewOptions btn btn-success btn-sm" type="button" data-caso="' . $row['uuid_caso'] . '"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md">Opciones</span></button>'; $url = preg_match("/casos/i", $_SERVER['HTTP_REFERER']) ? base_url('casos/ver-caso/' . $row['uuid_caso']) : "#"; if (Auth::has_permission("acceso", "casos/ver-caso/(:any)")) { $hidden_options .= '<a id="verCaso" href="' . $url . '" class="btn btn-block btn-outline btn-success" data-caso="' . $row['uuid_caso'] . '">Ver Detalles</a>'; } //Esta Opcion solo se muestra desde el sub panel de clientes if (Auth::has_permission("acceso", "actividades/crear-actividad")) { if (preg_match("/ver-cliente-natural/i", $_SERVER['HTTP_REFERER']) || preg_match("/ver-cliente-juridico/i", $_SERVER['HTTP_REFERER'])) { $hidden_options .= '<a href="#" id="crearActividadCasoClientes" data-caso="' . $row['uuid_caso'] . '" class="btn btn-block btn-outline btn-success">Agregar Actividad</a>'; } } //Solo mostrar en el modulo de casos if (Auth::has_permission("acceso", "actividades/crear-actividad")) { if (preg_match("/casos/i", $_SERVER['HTTP_REFERER'])) { $hidden_options .= '<a href="#" id="crearActividad" data-caso="' . $row['uuid_caso'] . '" class="btn btn-block btn-outline btn-success">Registrar Actividad</a>'; } } //Solo mostrar en el modulo de clientes if (preg_match("/ver-cliente-/i", $_SERVER['HTTP_REFERER'])) { $hidden_options .= '<a href="' . base_url('casos/ver-caso/' . $row['uuid_caso']) . '" data-caso="' . $row['uuid_caso'] . '" class="btn btn-block btn-outline btn-success">Todas las Actividades</a>'; } $url_asignarme = preg_match("/casos/i", $_SERVER['HTTP_REFERER']) ? base_url('casos/asignarme/' . $row['uuid_caso']) : "#"; //if(preg_match("/casos/i", $_SERVER['HTTP_REFERER'])) if ($this->auth->has_permission('acceso', 'casos/asignarme/(:any)')) { $hidden_options .= '<a id="asignarmeCaso" href="' . $url_asignarme . '" data-caso="' . $row['uuid_caso'] . '" class="btn btn-block btn-outline btn-success">Asignarme</a>'; } if (preg_match("/casos/i", $_SERVER['HTTP_REFERER'])) { if ($this->auth->has_permission('acceso', 'casos/historial/(:any)')) { $hidden_options .= '<a href="' . base_url('casos/historial/' . $row['uuid_caso']) . '" class="btn btn-block btn-outline btn-success">Historial</a>'; } } $usuario_asignado = !empty($row['usuario_asignado']) ? $row['usuario_asignado'] : ""; $asunto = $row['asunto']; $_link = str_pad($row['numero'], 4, '0', STR_PAD_LEFT); if (preg_match("/casos/i", $_SERVER['HTTP_REFERER']) && $this->auth->has_permission('acceso', 'casos/ver-caso/(:any)')) { if ($row["tipo_cliente"] == "natural") { $_link = "<a href='" . base_url("clientes/ver-cliente-natural/" . $link) . "'>" . str_pad($row['numero'], 4, '0', STR_PAD_LEFT) . "</a>"; } else { if ($row["tipo_cliente"] == "juridico") { $_link = "<a href='" . base_url("clientes/ver-cliente-juridico/" . $link) . "'>" . str_pad($row['numero'], 4, '0', STR_PAD_LEFT) . "</a>"; } } } $nombre_cliente = $row['nombre_cliente']; if (preg_match("/casos/i", $_SERVER['HTTP_REFERER'])) { if ($row["tipo_cliente"] == "natural" && $this->auth->has_permission('acceso', 'clientes/ver-cliente-natural/(:any)')) { $nombre_cliente = "<a href='" . base_url("clientes/ver-cliente-natural/" . $row['uuid_cliente']) . "'>" . $row['nombre_cliente'] . "</a>"; } else { if ($row["tipo_cliente"] == "juridico" && $this->auth->has_permission('acceso', 'clientes/ver-cliente-juridico/(:any)')) { $nombre_cliente = "<a href='" . base_url("clientes/ver-cliente-juridico/" . $row['uuid_cliente']) . "'>" . $row['nombre_cliente'] . "</a>"; } } } $response->rows[$i]["id"] = $row['uuid_caso']; $response->rows[$i]["cell"] = array($_link, $asunto, $nombre_cliente, $row['fecha_cracion'], $row['tipo'], $row['estado'], $row['usuario'], $link_option, $hidden_options); $i++; } } echo json_encode($response); exit; } }
public function ajax_listar_clientes_potenciales() { //Just Allow ajax request if ($this->input->is_ajax_request()) { /** * Get the requested page. * @var int */ $page = (int) $this->input->post('page', true); /** * Get how many rows we want to have into the grid * rowNum parameter in the grid. * @var int */ $limit = (int) $this->input->post('rows', true); /** * Get index row - i.e. user click to sort * at first time sortname parameter - after that the index from colModel. * @var int */ $sidx = $this->input->post('sidx', true); /** * Sorting order - at first time sortorder * @var string */ $sord = $this->input->post('sord', true); /** * Inicializar variable $clause de busqueda */ $clause = array(); /** * Verificar si existe algun $_POST * de los campos de busqueda */ $nombre = $this->input->post('nombre', true); $compania = $this->input->post('compania', true); $telefono = $this->input->post('telefono', true); $correo = $this->input->post('correo', true); if (!empty($nombre)) { $clause["CONCAT_WS(' ', IF(cp.nombre != '', cp.nombre, ''), IF(cp.apellido != '', cp.apellido, '')) LIKE '%{$nombre}%'"] = NULL; } if (!empty($compania)) { $clause["cp.compania LIKE '%{$compania}%'"] = NULL; } if (!empty($telefono)) { $clause["cp.telefono LIKE '%{$telefono}%'"] = NULL; } if (!empty($correo)) { $clause["cp.correo LIKE '%{$correo}%'"] = NULL; } //Verificar en cache si existe el contador de clientes $contarClientes = CRM_Controller::$cache->get("contarClientesPotenciales"); //Get all records in Table $countarClientes = $this->clientes_potenciales_model->contar_clientes_potenciales($clause); /** * Total rows found in the query. * @var int */ $count = !empty($countarClientes) && count($countarClientes) > 0 ? count($countarClientes) : 0; /** * Calcule total pages if $coutn is higher than zero. * @var int */ $total_pages = $count > 0 ? ceil($count / $limit) : 0; // if for some reasons the requested page is greater than the total // set the requested page to total page if ($page > $total_pages) { $page = $total_pages; } /** * calculate the starting position of the rows * do not put $limit*($page - 1). * @var int */ $start = $limit * $page - $limit; // do not put $limit*($page - 1) // if for some reasons start position is negative set it to 0 // typical case is that the user type 0 for the requested page if ($start < 0) { $start = 0; } //Verificar en cache si existe el contador de clientes $listarClientes = CRM_Controller::$cache->get("listaClientesPotenciales"); //Listado de Clientes Potenciales $listarClientes = $this->clientes_potenciales_model->listar_clientes_potenciales($clause, $sidx, $sord, $limit, $start); //Constructing a JSON $response = new stdClass(); $response->page = $page; $response->total = $total_pages; $response->records = $count; $i = 0; if (!empty($listarClientes)) { foreach ($listarClientes as $i => $row) { $hidden_options = ""; $link_option = '<button class="viewOptions btn btn-success btn-sm" type="button" data-rol="' . $row["uuid_cliente_potencial"] . '"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md">Opciones</span></button>'; if ($this->auth->has_permission('acceso', 'clientes_potenciales/ver-cliente-potencial/(:any)')) { $hidden_options .= '<a href="' . base_url("clientes_potenciales/ver-cliente-potencial/" . $row["uuid_cliente_potencial"]) . '" class="btn btn-block btn-outline btn-success">Ver Cliente Potencial</a>'; } //$hidden_options .= '<a href="#" class="btn btn-block btn-outline btn-success">Registrar Actividad</a>'; if (Auth::has_permission("acceso", "actividades/crear-actividad")) { $hidden_options .= '<a href="#" id="crearActividad" data-cliente-potencial="' . $row['uuid_cliente_potencial'] . '" class="btn btn-block btn-outline btn-success">Registrar Actividad</a>'; } //if ($this->auth->has_permission('listar-clientes-potenciales__campanaMercadeo', 'clientes_potenciales/listar-clientes-potenciales')){ $hidden_options .= '<a href="' . base_url('oportunidades/crear-oportunidad/' . $row['uuid_cliente_potencial'] . '-cliente-potencial') . '" data-cliente="" class="btn btn-block btn-outline btn-success">Agregar Oportunidad</a>'; //} if (Auth::has_permission("acceso", "documentos/crear-documentos")) { $hidden_options .= '<a href="#" class="btn btn-block btn-outline btn-success" data-cliente="' . $row['uuid_cliente_potencial'] . '" id="subirArchivosBtn">Subir Documentos</a>'; } if ($this->auth->has_permission('listar-clientes-potenciales__convertirJuridico', 'clientes_potenciales/listar-clientes-potenciales')) { $hidden_options .= '<a href="#" data-cliente="' . $row["uuid_cliente_potencial"] . '" id="confirmarConvertirJuridicoBtn" class="btn btn-block btn-outline btn-success">Convertir a Cliente Juridico</a>'; } if ($this->auth->has_permission('listar-clientes-potenciales__convertirNatural', 'clientes_potenciales/listar-clientes-potenciales')) { $hidden_options .= '<a href="#" data-cliente="' . $row["uuid_cliente_potencial"] . '" id="confirmarConvertirNaturalBtn" class="btn btn-block btn-outline btn-success">Convertir a Cliente Natural</a>'; } if ($this->auth->has_permission('listar-clientes-potenciales__eliminar', 'clientes_potenciales/listar-clientes-potenciales')) { $hidden_options .= '<a href="#" data-cliente="' . $row["uuid_cliente_potencial"] . '" class="btn btn-block btn-outline btn-success" id="eliminarClienteIndividual">Eliminar</a>'; } $response->rows[$i]["id"] = $row["uuid_cliente_potencial"]; $response->rows[$i]["cell"] = array($row["compania"], '<a href="' . base_url("clientes_potenciales/ver-cliente-potencial/" . $row["uuid_cliente_potencial"]) . '">' . $row["nombre_cliente"] . '</a>', $row["telefono"], $row["correo"], $row["toma_contacto"], $link_option, $hidden_options); $i++; } } echo json_encode($response); exit; } }
public function listar_contactos() { if (!$this->auth->has_permission('acceso')) { // No, tiene permiso, redireccionarlo. redirect('/'); } $this->assets->agregar_css(array('public/assets/css/default/ui/base/jquery-ui.css', 'public/assets/css/default/ui/base/jquery-ui.theme.css', 'public/assets/css/plugins/jquery/jqgrid/ui.jqgrid.bootstrap.css', 'public/assets/css/plugins/jquery/jqgrid/ui.jqgrid.css', 'public/assets/css/plugins/jquery/awesome-bootstrap-checkbox.css', 'public/assets/css/plugins/jquery/switchery.min.css', 'public/assets/css/plugins/jquery/chosen/chosen.min.css', 'public/assets/css/plugins/bootstrap/bootstrap-tagsinput.css', 'public/assets/css/plugins/bootstrap/bootstrap-datetimepicker.css', 'public/assets/css/plugins/jquery/fileinput/fileinput.css')); $this->assets->agregar_js(array('public/assets/js/default/jquery-ui.min.js', 'public/assets/js/plugins/jquery/jquery.sticky.js', 'public/assets/js/plugins/jquery/jQuery.resizeEnd.js', 'public/assets/js/plugins/jquery/jquery-validation/jquery.validate.min.js', 'public/assets/js/plugins/jquery/jquery-validation/localization/messages_es.min.js', 'public/assets/js/plugins/jquery/jqgrid/i18n/grid.locale-es.js', 'public/assets/js/plugins/jquery/jqgrid/jquery.jqGrid.min.js', 'public/assets/js/plugins/jquery/chosen.jquery.min.js', 'public/assets/js/moment-with-locales-290.js', 'public/assets/js/modules/contactos/listar_contactos.js', 'public/assets/js/plugins/jquery/switchery.min.js', 'public/assets/js/plugins/bootstrap/bootstrap-tagsinput.js', 'public/assets/js/plugins/jquery/fileinput/fileinput.js', 'public/assets/js/plugins/jquery/fileinput/fileinput_locale_es.js', 'public/assets/js/default/grid.js', 'public/assets/js/plugins/ckeditor/ckeditor.js', 'public/assets/js/plugins/ckeditor/adapters/jquery.js', 'public/assets/js/plugins/jquery/jquery-inputmask/inputmask.js', 'public/assets/js/plugins/jquery/jquery-inputmask/jquery.inputmask.js', 'public/assets/js/plugins/jquery/chosen.jquery.min.js', 'public/assets/js/plugins/bootstrap/bootstrap-tabdrop.js', 'public/assets/js/plugins/jquery/jquery-validation/jquery.validate.min.js', 'public/assets/js/plugins/jquery/jquery-validation/localization/messages_es.min.js', 'public/assets/js/plugins/bootstrap/bootstrap-datetimepicker.js', 'public/assets/js/default/formulario.js')); // Build the data array $data = $camposGrid = array(); $clause = array(); $sidx = 'cl.id_cliente'; $sord = 'desc'; $limit = '100'; $ragistrosContactos = $this->contactos_model->listar_contactos($clause, $sidx, $sord, $limit); $i = 0; if (!empty($ragistrosContactos)) { foreach ($ragistrosContactos as $registros) { $hidden_options = $link_option = ""; $contacto_nombre = $registros["nombre"]; /* * if($this->auth->has_permission('acceso', 'contactos/editar-contacto/(:num)')){ $hidden_options = '<a href="'. base_url("contactos/editar/". $row['id_contacto']) .'" class="btn btn-block btn-outline btn-success">Editar Contacto</a>'; } */ $hidden_options .= '<a href="' . base_url("contactos/ver-contacto/" . $registros['uuid_contacto']) . '" id="verContacto" data-contacto="' . $registros['uuid_contacto'] . '" class="btn btn-block btn-outline btn-success" type="button">Ver Contacto</a>'; if (Auth::has_permission("acceso", "oportunidades/crear-oportunidad/(:any)")) { $hidden_options .= '<a href="' . base_url("oportunidades/crear-oportunidad/" . $registros['uuid_contacto'] . '-contacto') . '" class="btn btn-block btn-outline btn-success">Agregar Oportunidad</a>'; } if (Auth::has_permission("acceso", "actividades/crear-actividad")) { $hidden_options .= '<a href="#" id="crearActividad" data-contacto="' . $registros['uuid_contacto'] . '" class="btn btn-block btn-outline btn-success">Registrar Actividad</a>'; } if (Auth::has_permission("acceso", "documentos/crear-documentos")) { $hidden_options .= '<a href="#" class="btn btn-block btn-outline btn-success" data-contacto="' . $registros['uuid_contacto'] . '" id="subirArchivosBtn">Subir Documentos</a>'; } $camposGrid[$i]["opcion"] = $hidden_options; //$camposGrid [$i] ["imagen"] = isset ($registros ["imagen_archivo"]) ? $registros ["imagen_archivo"] : NULL; $camposGrid[$i]["imagen"] = $registros["imagen_archivo"] != '' ? base_url('public/uploads/' . $registros["imagen_archivo"]) : base_url('public/uploads/clientes/default.png'); $camposGrid[$i]["uuid"] = isset($registros["uuid_contacto"]) ? $registros["uuid_contacto"] : NULL; $camposGrid[$i]["id"] = isset($registros["id_contacto"]) ? $registros["id_contacto"] : NULL; $camposGrid[$i]["titulo"]["name"] = "Nombre"; $nombre = isset($registros["nombre"]) ? $registros["nombre"] : NULL; $apellido = isset($registros["apellido"]) ? $registros["apellido"] : NULL; $camposGrid[$i]["titulo"]["value"] = $nombre . " " . $apellido; $camposGrid[$i]["subtitulo"]["name"] = "Cliente"; $camposGrid[$i]["subtitulo"]["value"] = isset($registros['cliente']) ? $registros['cliente'] : NULL; $camposGrid[$i]["info"][0]["name"] = "Cargo"; $camposGrid[$i]["info"][0]["value"] = isset($registros["cargo"]) ? $registros["cargo"] : NULL; $camposGrid[$i]["info"][1]["name"] = "Email"; $camposGrid[$i]["info"][1]["value"] = isset($registros["email"]) ? $registros["email"] : NULL; $camposGrid[$i]["info"][2]["name"] = "Usuario"; $camposGrid[$i]["info"][2]["value"] = isset($registros["email"]) ? $registros["email"] : NULL; $camposGrid[$i]["info"][3]["name"] = "Teléfono"; $camposGrid[$i]["info"][3]["value"] = isset($registros["telefono"]) ? $registros["telefono"] : NULL; $camposGrid[$i]["info"][4]["name"] = "Último Contacto"; $camposGrid[$i]["info"][4]["value"] = isset($registros["ultimo_contacto"]) ? $registros["ultimo_contacto"] : NULL; $camposGrid[$i]["info"][5]["name"] = "Toma de Contacto"; $camposGrid[$i]["info"][5]["value"] = isset($registros["toma_contacto"]) ? $registros["toma_contacto"] : NULL; $i++; } } /* * Verificar si existe alguna variable de session * proveniente de algun formulario de crear/editar */ if ($this->session->userdata('idContacto')) { //Borrar la variable de session $this->session->unset_userdata('idContacto'); //Establecer el mensaje a mostrar $data["mensaje"]["clase"] = "alert-success"; $data["mensaje"]["contenido"] = "Se ha creado el Contacto satisfactoriamente."; } //$data = array('data'=> $data,'grid'=> $camposGrid); $datos = array('data' => $data, 'grid' => $camposGrid); $this->template->agregar_titulo_header('Listado de Contactos'); $breadcrumb = array("titulo" => '<i class="fa fa-user"></i> Contactos', "ruta" => array(0 => array("nombre" => "Ventas", "activo" => false), 1 => array("nombre" => '<b>Contactos</b>', "url" => 'contactos/listar-contactos', "activo" => true)), "filtro" => true); $this->assets->agregar_var_js(array("uuid_usuario" => CRM_Controller::$uuid_usuario)); // Verificar si tiene permiso de crear if (!$this->auth->has_permission('acceso', 'contactos/crear-contacto/(:any)')) { $breadcrumb["menu"]["url"] = "contactos/listar-contactos#sinpermiso"; } // Verificar si tiene permiso de Exportar if ($this->auth->has_permission('listar-contactos__exportar_contacto', 'contactos/listar-contactos')) { $breadcrumb["menu"]["opciones"]["#exportarContactosBtn"] = "Exportar"; } // Verificar si tiene permiso de Agregar a Campaña de Mercadeo /* if ($this->auth->has_permission('listar-contactos__agregar_campana_mercadeo', 'contactos/listar-contactos')) { $breadcrumb ["menu"] ["opciones"] ["contactos/campana"] = "Agregar a Campaña de Mercadeo"; } */ $this->template->agregar_contenido($datos); $this->template->agregar_breadcrumb($breadcrumb); $this->template->visualizar($breadcrumb); }
public function ajax_listar_oportunidades() { //Just Allow ajax request if ($this->input->is_ajax_request()) { /** * Get the requested page. * @var int */ $page = (int) $this->input->post('page', true); /** * Get how many rows we want to have into the grid * rowNum parameter in the grid. * @var int */ $limit = (int) $this->input->post('rows', true); /** * Get index row - i.e. user click to sort * at first time sortname parameter - after that the index from colModel. * @var int */ $sidx = $this->input->post('sidx', true); /** * Sorting order - at first time sortorder * @var string */ $sord = $this->input->post('sord', true); /** * Inicializar variable $clause de busqueda * * Permiso Default: ver las asignadas o las que ha creado */ $clause = array(); /** * Verificar si existe algun $_POST * de los campos de busqueda */ $nombre = $this->input->post('nombre_oportunidad', true); $nombre_cliente = $this->input->post('nombre_cliente', true); $uuid_cliente = $this->input->post('uuid_cliente', true); $id_etapa_venta = $this->input->post('id_etapa_venta', true); $fecha_oportunidad_inicio = $this->input->post('fecha_oportunidad_inicio', true); $fecha_oportunidad_fin = $this->input->post('fecha_oportunidad_fin', true); $uuid_tipo_transaccion = $this->input->post('id_tipo_transaccion', true); if (!empty($uuid_cliente)) { $clause["opp.uuid_cliente = UNHEX('" . $uuid_cliente . "')"] = NULL; } if (!empty($nombre_cliente)) { $clause["CONCAT_WS(' ', IF(cl.nombre != '', cl.nombre, ''), IF(cl.apellido != '', cl.apellido, '')) LIKE '%{$nombre_cliente}%'"] = NULL; } if (!empty($nombre)) { $clause["opp.nombre LIKE '%{$nombre}%'"] = NULL; } if (!empty($id_etapa_venta)) { $clause["ocat.id_cat"] = $id_etapa_venta; } if (!empty($fecha_oportunidad_inicio)) { $fecha_oportunidad_inicio = date("Y-m-d H:i:s", strtotime($fecha_oportunidad_inicio)); $clause["opp.fecha_creacion >="] = $fecha_oportunidad_inicio; } if (!empty($fecha_oportunidad_fin)) { $fecha_oportunidad_fin = date("Y-m-d 23:59:59", strtotime($fecha_oportunidad_fin)); $clause["opp.fecha_creacion <="] = $fecha_oportunidad_fin; } if (!empty($uuid_tipo_transaccion)) { $clause["opp.uuid_tipo_transaccion = UNHEX('" . $uuid_tipo_transaccion . "')"] = NULL; } /** * Array con los uuid de usuarios * que el usario actual puede ver. */ $ver_usuarios = $this->andrea_ACL(); //Query a Base de Datos para listar todos los clientes $contarOportunidades = $this->oportunidades_model->contar_oportunidades($clause, $ver_usuarios); /** * Total rows found in the query. * @var int */ $count = !empty($contarOportunidades) && count($contarOportunidades) > 0 ? count($contarOportunidades) : 0; /** * Calcule total pages if $coutn is higher than zero. * @var int */ $total_pages = $count > 0 ? ceil($count / $limit) : 0; // if for some reasons the requested page is greater than the total // set the requested page to total page if ($page > $total_pages) { $page = $total_pages; } /** * calculate the starting position of the rows * do not put $limit*($page - 1). * @var int */ $start = $limit * $page - $limit; // do not put $limit*($page - 1) // if for some reasons start position is negative set it to 0 // typical case is that the user type 0 for the requested page if ($start < 0) { $start = 0; } //Query a Base de Datos para listar todos los clientes $listaOportunidades = $this->oportunidades_model->listar_oportunidades($clause, $sidx, $sord, $limit, $start, $ver_usuarios); //Constructing a JSON $response = new stdClass(); $response->page = $page; $response->total = $total_pages; $response->records = $count; $i = 0; if (!empty($listaOportunidades)) { //Obtener el Puntaje de la Oportunidad $puntajeArray = $this->oportunidades_model->listar_oportunidades_por_puntaje(); /*echo "<pre>"; print_r($puntajeArray); echo "</pre>";*/ foreach ($listaOportunidades as $i => $row) { $hidden_options = ""; $link_option = '<button class="viewOptions btn btn-success btn-sm" type="button" data-oportunidad="' . $row['uuid_oportunidad'] . '"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md">Opciones</span></button>'; //Verificar Permiso de Administrador de Oportunidad //O si el usuario actual es el mismo asignado /*if(!Auth::has_permission("listar-oportunidades__administrador_oportunidad","oportunidades/listar-oportunidades") && CRM_Controller::$uuid_usuario != $row['uuid_asignado']){ $link_option = ""; die('OFI'); }*/ //No mostrar esta opcion si se esta accesando desde otro modulo if (preg_match("/oportunidades/i", $_SERVER['HTTP_REFERER'])) { if ($this->auth->has_permission('acceso', 'oportunidades/editar-oportunidad/(:any)') || $this->auth->has_permission('acceso', 'oportunidades/ver-oportunidad/(:any)')) { $hidden_options .= '<a href="' . base_url('oportunidades/editar-oportunidad/' . $row['uuid_oportunidad']) . '" id="editarOportunidad" data-oportunidad="' . $row['uuid_oportunidad'] . '" class="btn btn-block btn-outline btn-success">Editar Oportunidad</a>'; //$hidden_options .= '<a href="#" id="editarOportunidad" data-oportunidad="'. $row['uuid_oportunidad'] .'" class="btn btn-block btn-outline btn-success">Editar Oportunidad</a>'; } } if ($this->auth->has_permission('acceso', 'oportunidades/ver-oportunidad/(:any)')) { /** * Verificar desde donde se esta accesando a esta vista. * para mostrar o no el URL */ $url = preg_match("/oportunidades/i", $_SERVER['HTTP_REFERER']) ? base_url('oportunidades/ver-oportunidad/' . $row['uuid_oportunidad']) : "#"; //No mostrar esta opcion si se esta accesando desde otro modulo if (preg_match("/oportunidades/i", $_SERVER['HTTP_REFERER'])) { $hidden_options .= '<a href="' . $url . '" id="verDetalleOportunidad" data-oportunidad="' . $row['uuid_oportunidad'] . '" class="btn btn-block btn-outline btn-success">Ver Detalles</a>'; } } //Esta Opcion solo se muestra desde el sub panel de clientes if (Auth::has_permission("acceso", "actividades/crear-actividad")) { if (preg_match("/ver-cliente-natural/i", $_SERVER['HTTP_REFERER']) || preg_match("/ver-cliente-juridico/i", $_SERVER['HTTP_REFERER'])) { //Verificar Permiso de Administrador de Oportunidad //O si el usuario actual es el mismo asignado if (Auth::has_permission("listar-oportunidades__administrador_oportunidad", "oportunidades/listar-oportunidades") || CRM_Controller::$uuid_usuario == $row['uuid_asignado']) { $hidden_options .= '<a href="#" id="crearActividadClientes" data-oportunidad="' . $row['uuid_oportunidad'] . '" class="btn btn-block btn-outline btn-success">Registrar Actividad</a>'; } } } //No mostrar esta opcion si se esta accesando desde otro modulo if (Auth::has_permission("acceso", "actividades/crear-actividad")) { if (preg_match("/oportunidades/i", $_SERVER['HTTP_REFERER'])) { //Verificar Permiso de Administrador de Oportunidad //O si el usuario actual es el mismo asignado if (Auth::has_permission("listar-oportunidades__administrador_oportunidad", "oportunidades/listar-oportunidades") || CRM_Controller::$uuid_usuario == $row['uuid_asignado']) { $hidden_options .= '<a href="#" id="crearActividad" data-oportunidad="' . $row['uuid_oportunidad'] . '" class="btn btn-block btn-outline btn-success">Registrar Actividad</a>'; } } } //No mostrar esta opcion si se esta accesando desde otro modulo if (preg_match("/oportunidades/i", $_SERVER['HTTP_REFERER'])) { //Verificar Permiso de Administrador de Oportunidad //O si el usuario actual es el mismo asignado if (Auth::has_permission("listar-oportunidades__administrador_oportunidad", "oportunidades/listar-oportunidades") || CRM_Controller::$uuid_usuario == $row['uuid_asignado']) { $hidden_options .= '<a href="#" id="subirDocumentoOportunidadBtn" data-oportunidad="' . $row['uuid_oportunidad'] . '" class="btn btn-block btn-outline btn-success">Subir Documento</a>'; } } if ($this->auth->has_permission('listar-oportunidades__cambiar_etapa_oportunidad', 'oportunidades/listar-oportunidades')) { //No mostrar esta opcion si se esta accesando desde otro modulo if (preg_match("/oportunidades/i", $_SERVER['HTTP_REFERER'])) { //Verificar Permiso de Administrador de Oportunidad //O si el usuario actual es el mismo asignado if (Auth::has_permission("listar-oportunidades__administrador_oportunidad", "oportunidades/listar-oportunidades") || CRM_Controller::$uuid_usuario == $row['uuid_asignado']) { $hidden_options .= '<a href="#" id="cambiarEtapaConfirmBtn" data-oportunidad="' . $row['uuid_oportunidad'] . '" class="btn btn-block btn-outline btn-success">Cambiar Etapa</a>'; } } } $nombre_cliente = ""; //Verificar Tipo de Cliente, Para Armar el enlace hacia El perfil de cliente. if (!empty($row['tipo_cliente']) && preg_match("/juridico/i", $row['tipo_cliente'])) { //Verificar si tiene permiso $nombre_cliente = !empty($row['nombre_cliente']) && $this->auth->has_permission('acceso', 'clientes/ver-cliente-juridico/(:any)') ? '<a href="' . base_url('clientes/ver-cliente-juridico/' . $row['uuid_cliente']) . '">' . $row['nombre_cliente'] . '</a>' : (!empty($row['nombre_cliente']) ? $row['nombre_cliente'] : ""); $uuid_cliente = $row['uuid_cliente']; } else { if (!empty($row['tipo_cliente']) && preg_match("/natural/i", $row['tipo_cliente'])) { //Verificar si tiene permiso $nombre_cliente = !empty($row['nombre_cliente']) && $this->auth->has_permission('acceso', 'clientes/ver-cliente-natural/(:any)') ? '<a href="' . base_url('clientes/ver-cliente-juridico/' . $row['uuid_cliente']) . '">' . $row['nombre_cliente'] . '</a>' : (!empty($row['nombre_cliente']) ? $row['nombre_cliente'] : ""); $uuid_cliente = $row['uuid_cliente']; } else { //Verificar si tiene permiso $nombre_cliente = !empty($row['nombre_cliente_potencial']) && $this->auth->has_permission('acceso', 'clientes_potenciales/ver-cliente-potencial/(:any)') ? '<a href="' . base_url('clientes_potenciales/ver-cliente-potencial/' . $row['uuid_cliente_potencial']) . '">' . $row['nombre_cliente_potencial'] . '</a>' : (!empty($row['nombre_cliente_potencial']) ? $row['nombre_cliente_potencial'] : ""); $uuid_cliente = $row['uuid_cliente_potencial']; } } //Buscar Punatje de la Oportunidad $percentagerank = "0%"; $key = Util::multiarray_buscar_valor($row['uuid_oportunidad'], "uuid_oportunidad", $puntajeArray); if (is_numeric($key)) { $percentagerank = !empty($puntajeArray[$key]) && !empty($puntajeArray[$key]["percentagerank"]) ? $puntajeArray[$key]["percentagerank"] . "%" : "0%"; } //Buscar el Ultimo Contacto del Cliente list($fecha, $hace) = $this->actividades_model->seleccionar_ultimo_contacto(array("act.uuid_cliente = UNHEX('{$uuid_cliente}')" => NULL, "act.completada = 1" => NULL)); //Verificar acceso para armar enlace de nombre de oportunidad $nombre_oportunidad = preg_match("/oportunidades/i", $_SERVER['HTTP_REFERER']) ? $this->auth->has_permission('acceso', 'oportunidades/ver-oportunidad/(:any)') ? '<a href="' . base_url('oportunidades/ver-oportunidad/' . $row['uuid_oportunidad']) . '">' . $row['nombre'] . '</a>' : $row['nombre'] : ($this->auth->has_permission('acceso', 'oportunidades/editar-oportunidad/(:any)') ? '<a href="#" id="editarOportunidadLnk" data-oportunidad="' . $row['uuid_oportunidad'] . '">' . $row['nombre'] . '</a>' : $row['nombre']); //Buscar total de Actividades de la Oportunidad $total_actividades = $this->actividades_model->seleccionar_total_actividades_por_oportunidad($row['uuid_oportunidad']); $total_actividades = !empty($total_actividades) ? $total_actividades[0]["total_actividad"] : "0"; $response->rows[$i]["id"] = $row['uuid_oportunidad']; $response->rows[$i]["cell"] = array($nombre_oportunidad, $nombre_cliente, $row['etapa'], $row['valor_oportunidad'], date("d/m/Y", strtotime($row['fecha_creacion'])), $row["fecha_cierre"] != "" && $row["fecha_cierre"] != "0000-00-00 00:00:00" ? date("d/m/Y", strtotime($row["fecha_cierre"])) : "", $row['usuario_asignado'], $percentagerank, $row["total_actividades"], $hace, $link_option, $hidden_options, $row['uuid_cliente'], $row['uuid_sociedad'], $row['uuid_contacto'], !empty($row['nombre_comercial']) ? $row['nombre_comercial'] : "", $row['nombre_contacto']); $i++; } } echo json_encode($response); exit; } }
} ?> <?php if (Auth::has_permission('acceso', 'oportunidades/puntaje-de-oportunidades')) { ?> <li><a href="<?php echo base_url("oportunidades/puntaje-de-oportunidades"); ?> ">Score</a></li> <?php } ?> <?php if (Auth::has_permission('acceso', 'oportunidades/pipeline-de-oportunidades')) { ?> <li><a href="<?php echo base_url("oportunidades/pipeline-de-oportunidades"); ?> ">Pipeline</a></li> <?php } ?> </ul> <?php } ?>
function crear_actividad($uuid_modulo = NULL) { // Verificar si tiene permiso para crear cliente Natural /*if (! $this->auth->has_permission ( 'acceso' )) { // No, tiene permiso, redireccionarlo. redirect ( '/' ); }*/ if (!Auth::has_permission("acceso", "actividades/crear-actividad")) { redirect('/'); } $data = array(); $mensaje = array(); if (!empty($_POST)) { $response = $this->actividades_model->guardar_actividad(); $uuid_actividad = $this->session->userdata('uuid_actividad'); //Si es un request Ajax retornar $response if ($this->input->is_ajax_request()) { $json = '{"results":[' . json_encode($response) . ']}'; echo $json; exit; } else { if ($response == true) { redirect(base_url('actividades/listar-actividades')); } else { //Establecer el mensaje a mostrar $data["mensaje"]["clase"] = "alert-danger"; $data["mensaje"]["contenido"] = "Hubo un error al tratar de crear la actividad."; } } } //Agregra variables PHP como variables JS $this->assets->agregar_var_js(array("uuid_usuario" => CRM_Controller::$uuid_usuario)); //Veridicar si existe variable $uuid_modulo if ($uuid_modulo != 0) { $data_uuid_modulo = explode("-", $uuid_modulo); $uuid_modulo_index = "uuid_" . $data_uuid_modulo[1]; //Nombre del uuid (uuid_contacto, uuid_propiedad, uuid_cliente) $this->assets->agregar_var_js(array($uuid_modulo_index => $data_uuid_modulo[0])); } $this->assets->agregar_css(array('public/assets/css/default/ui/base/jquery-ui.css', 'public/assets/css/default/ui/base/jquery-ui.theme.css', 'public/assets/css/plugins/jquery/jqgrid/ui.jqgrid.bootstrap.css', 'public/assets/css/plugins/jquery/jqgrid/ui.jqgrid.css', 'public/assets/css/plugins/bootstrap/bootstrap-tagsinput.css', 'public/assets/css/plugins/jquery/chosen/chosen.min.css', 'public/assets/css/plugins/bootstrap/bootstrap-datetimepicker.css', 'public/assets/css/plugins/jquery/switchery.min.css')); $this->assets->agregar_js(array('public/assets/js/plugins/ckeditor/ckeditor.js', 'public/assets/js/plugins/ckeditor/adapters/jquery.js', 'public/assets/js/plugins/bootstrap/bootstrap-tagsinput.js', 'public/assets/js/plugins/jquery/switchery.min.js', 'public/assets/js/plugins/jquery/jqgrid/i18n/grid.locale-es.js', 'public/assets/js/plugins/jquery/jqgrid/jquery.jqGrid.min.js', 'public/assets/js/plugins/jquery/jqgrid/plugins/jQuery.jqGrid.columnToggle.js', 'public/assets/js/plugins/jquery/jQuery.resizeEnd.js', 'public/assets/js/plugins/jquery/jquery-validation/jquery.validate.min.js', 'public/assets/js/plugins/jquery/jquery-validation/localization/messages_es.min.js', 'public/assets/js/plugins/jquery/jquery-inputmask/inputmask.js', 'public/assets/js/plugins/jquery/jquery-inputmask/jquery.inputmask.js', 'public/assets/js/plugins/jquery/chosen.jquery.min.js', 'public/assets/js/plugins/bootstrap/bootstrap-tabdrop.js', 'public/assets/js/moment-with-locales-290.js', 'public/assets/js/plugins/bootstrap/bootstrap-datetimepicker.js', 'public/assets/js/default/formulario.js', 'public/assets/js/modules/actividades/crear_actividad.js')); $this->template->agregar_titulo_header('Actividades'); $this->template->agregar_breadcrumb(array("titulo" => '<i class="fa fa-tty"></i> Actividades', "ruta" => array(0 => array("nombre" => 'Actividades', "url" => 'actividades/listar-actividades', "activo" => false), 1 => array("nombre" => '<b>Nuevo</b>', "activo" => true)))); $this->template->agregar_contenido($data); $this->template->visualizar(); }
$creado_por = !empty($actividad["creado_por"]) ? $actividad["creado_por"] : ""; $nombre_contacto = !empty($actividad["nombre_contacto"]) ? $actividad["nombre_contacto"] : ""; $imagen_perfil_usuario_asignado = !empty($actividad["imagen_perfil_usuario_asignado"]) ? 'public/uploads/' . $actividad["imagen_perfil_usuario_asignado"] : "public/uploads/usuarios/18382257171431644103.png"; $descripcion_actividad = !empty($actividad["descripcion"]) ? $actividad["descripcion"] : ""; $fecha_creacion = !empty($actividad["fecha_creacion"]) ? $actividad["fecha_creacion"] : ""; $cliente = ""; //Verificar Tipo de Cliente, Para Armar el enlace hacia El perfil de cliente. if (preg_match("/juridico/i", $tipo_cliente)) { //Agregar el contacto del cliente juridico $cliente = !empty($nombre_contacto) && trim($nombre_contacto) != "" ? "con <b>{$nombre_contacto}</b> " : ""; //Verificar si tiene permiso $cliente .= !empty($nombre_cliente) && Auth::has_permission('acceso', 'clientes/ver-cliente-juridico/(:any)') ? 'de <a href="' . base_url('clientes/ver-cliente-juridico/' . $uuid_cliente) . '"><b>' . $nombre_cliente . '</b></a>' : "de " . $nombre_cliente; } else { if (preg_match("/natural/i", $tipo_cliente)) { //Verificar si tiene permiso $cliente = !empty($nombre_cliente) && Auth::has_permission('acceso', 'clientes/ver-cliente-natural/(:any)') ? 'de <a href="' . base_url('clientes/ver-cliente-natural/' . $uuid_cliente) . '"><b>' . $nombre_cliente . '</b></a>' : "de " . $nombre_cliente; } else { //Verificar si tiene permiso $nombre_cliente = !empty($actividad['nombre_cliente_potencial']) && $this->auth->has_permission('acceso', 'clientes_potenciales/ver-cliente-potencial/(:any)') ? '<a href="' . base_url('clientes_potenciales/ver-cliente-potencial/' . $actividad['uuid_cliente_potencial']) . '">' . $actividad['nombre_cliente_potencial'] . '</a>' : (!empty($actividad['nombre_cliente_potencial']) ? $actividad['nombre_cliente_potencial'] : ""); } } //Verificar la preposicion segun //el nombre de tipo de actividad if (preg_match("/comentario/i", $tipo_actividad)) { $tipo_actividad = "un " . $tipo_actividad; } else { $tipo_actividad = "una " . $tipo_actividad; } // <img alt="perfil" class="img-circle pull-left" src="'. base_url($imagen_perfil_usuario_asignado) .'"> echo '<div class="feed-element"> <img alt="perfil" class="img-circle pull-left" src="' . base_url('public/assets/images/user_avatar_preview.png') . '">
echo '<div class="alert alert-warning"> Todavia no tienes ningun comentario para esta propiedad. </div>'; } ?> </div> </div> </div> <!-- /ibox --> </div> <div id="actividades" class="tab-pane panel-body"> <?php if (Auth::has_permission("acceso", "actividades/crear-actividad")) { //echo '<a href="#" id="crearActividad" data-propiedad="'. $uuid_propiedad .'"class="viewOptions btn btn-success btn-sm" >Registrar Actividad</a>'; } echo "<br><br>"; echo modules::run('actividades/ocultotabla', !empty($uuid_propiedad) ? $uuid_propiedad : ""); ?> </div> <div id="documentos" class="tab-pane panel-body"> <?php //echo '<a href="#" id="crearDocumento" data-propiedad="'. $uuid_propiedad .'"class="viewOptions btn btn-success btn-sm" >Agregar Documentos</a>'; echo "<br />"; Archivos::visualizar_documentos($documentos); ?> </div>
public function ajax_listar_clientes() { //Just Allow ajax request if ($this->input->is_ajax_request()) { /** * Get the requested page. * @var int */ $page = (int) $this->input->post('page', true); /** * Get how many rows we want to have into the grid * rowNum parameter in the grid. * @var int */ $limit = (int) $this->input->post('rows', true); /** * Get index row - i.e. user click to sort * at first time sortname parameter - after that the index from colModel. * @var int */ $sidx = $this->input->post('sidx', true); /** * Sorting order - at first time sortorder * @var string */ $sord = $this->input->post('sord', true); /** * Inicializar variable $clause de busqueda */ $clause = array(); /** * Verificar si existe algun $_POST * de los campos de busqueda */ $nombre_cliente = $this->input->post('nombre_cliente', true); $nombre_comercial = $this->input->post('nombre_comercial', true); $usuario_asignado = $this->input->post('usuario_asignado', true); $cedula_ruc = $this->input->post('cedula_ruc', true); $correo = $this->input->post('correo', true); $telefono = $this->input->post('telefono', true); $contacto_principal = $this->input->post('contacto_principal', true); $fecha_creacion_inicio = $this->input->post('fecha_creacion_inicio', true); $fecha_creacion_fin = $this->input->post('fecha_creacion_fin', true); $usuarios = $this->andrea_ACL(); if (!empty($usuarios['uuid_usuario'])) { $uuid_usuarios = $usuarios["uuid_usuario"]; $uuid_usuarios = !empty($uuid_usuarios) ? implode(", ", array_map(function ($uuid_usuarios) { return "'" . $uuid_usuarios . "'"; }, $uuid_usuarios)) : ""; $clause["HEX(cl.id_asignado) IN(" . $uuid_usuarios . ")"] = NULL; } if (!empty($nombre_cliente)) { $clause["cl.nombre LIKE '%{$nombre_cliente}%'"] = NULL; } if (!empty($nombre_comercial)) { $clause["csoc.nombre_comercial LIKE '%{$nombre_comercial}%'"] = NULL; } if (!empty($cedula_ruc)) { $clause["IF( cl.id_tipo_cliente = 1, csoc.ruc, cl.cedula ) LIKE '%{$cedula_ruc}%'"] = NULL; } /*if(!empty($fecha_creacion)){ $clause["date(cl.fecha_creacion) = '$fecha_creacion'"] = NULL; }*/ if (!empty($fecha_creacion_inicio)) { $fecha_creacion_inicio = date("Y-m-d H:i:s", strtotime($fecha_creacion_inicio)); $clause["cl.fecha_creacion >="] = $fecha_creacion_inicio; } if (!empty($fecha_creacion_fin)) { $fecha_creacion_fin = date("Y-m-d 23:59:59", strtotime($fecha_creacion_fin)); $clause["cl.fecha_creacion <="] = $fecha_creacion_fin; } if (!empty($usuario_asignado)) { $clause["CONCAT_WS(' ', IF(usr.nombre != '', usr.nombre, ''), IF(usr.apellido != '', usr.apellido, '')) LIKE '%{$usuario_asignado}%'"] = NULL; } if (!empty($correo)) { //$clause["cco.correo LIKE '%$correo%'"] = NULL; $clause["cl.correo LIKE '%{$correo}%'"] = NULL; } if (!empty($telefono)) { $clause["ctel.no_telefono LIKE '%{$telefono}%'"] = NULL; } if (!empty($contacto_principal)) { // $clause["CONCAT_WS(' ', IF(con.nombre != '', con.nombre, ''), IF(con.apellido != '', con.apellido, '')) LIKE '%$contacto_principal%' AND con.principal = 1 AND cl.id_tipo_cliente <> 78"] = NULL; $clause["CONCAT_WS(' ', IF(con.nombre != '', con.nombre, ''), IF(con.apellido != '', con.apellido, '')) LIKE '%{$contacto_principal}%'"] = NULL; } //Query a Base de Datos para listar todos los clientes $contarClientes = $this->clientes_model->contar_clientes($clause); /** * Total rows found in the query. * @var int */ $count = !empty($contarClientes) && count($contarClientes) > 0 ? count($contarClientes) : 0; /** * Calcule total pages if $coutn is higher than zero. * @var int */ $total_pages = $count > 0 ? ceil($count / $limit) : 0; // if for some reasons the requested page is greater than the total // set the requested page to total page if ($page > $total_pages) { $page = $total_pages; } /** * calculate the starting position of the rows * do not put $limit*($page - 1). * @var int */ $start = $limit * $page - $limit; // do not put $limit*($page - 1) // if for some reasons start position is negative set it to 0 // typical case is that the user type 0 for the requested page if ($start < 0) { $start = 0; } //Query a Base de Datos para listar todos los clientes $listaClientes = $this->clientes_model->listar_clientes($clause, $sidx, $sord, $limit, $start); //Constructing a JSON $response = new stdClass(); $response->page = $page; $response->total = $total_pages; $response->records = $count; $i = 0; if (!empty($listaClientes)) { foreach ($listaClientes as $i => $row) { $permiso = false; $hidden_options = ''; //Usuario Asignado al cliente $usuario_asignado = !empty($row['usuario_asignado']) ? $row['usuario_asignado'] : ""; //echo CRM_Controller::$uuid_usuario."=>".$row['uuid_asignado']."</BR>"; if (CRM_Controller::$uuid_usuario == $row['uuid_asignado']) { $permiso = true; } $cliente_score = $this->clientes_model->calculo_score_cliente($row['uuid_cliente']); $link_option = '<button class="viewOptions btn btn-success btn-sm" type="button" data-cliente="' . $row['uuid_cliente'] . '"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md">Opciones</span></button>'; if ($row['id_tipo_cliente'] == 78) { $tipo_cliente = 'natural'; if ($this->auth->has_permission('acceso', 'clientes/ver-cliente-natural/(:any)')) { $hidden_options .= '<a href="' . base_url('clientes/ver-cliente-natural/' . $row['uuid_cliente']) . '" class="btn btn-block btn-outline btn-success">Ver Cliente</a>'; } } else { $tipo_cliente = 'juridico'; if ($this->auth->has_permission('acceso', 'clientes/ver-cliente-juridico/(:any)')) { $hidden_options .= '<a href="' . base_url('clientes/ver-cliente-juridico/' . $row['uuid_cliente']) . '" class="btn btn-block btn-outline btn-success">Ver Cliente</a>'; } } $hidden_options .= '<a href="' . base_url('clientes/desactivar/' . $row['uuid_cliente']) . '" class="btn btn-block btn-outline btn-success">Desactivar Cliente</a>'; /* if( $this->auth->has_permission("acceso","contactos/crear-contacto/(:any)") ){ $hidden_options .= '<a href="'. base_url('contactos/crear-contacto/'.$row['uuid_cliente']).'" class="btn btn-block btn-outline btn-success">Agregar Contacto</a>'; } //$hidden_options .= '<a href="#" class="btn btn-block btn-outline btn-success">Nueva Oportunidad</a>'; if( Auth::has_permission("acceso","oportunidades/crear-oportunidad/(:any)") ){ $hidden_options .= '<a href="'.base_url("oportunidades/crear-oportunidad/".$row['uuid_cliente'].'-cliente').'" class="btn btn-block btn-outline btn-success">Agregar Oportunidad</a>'; }*/ if (Auth::has_permission("acceso", "documentos/crear-documentos") && $permiso == true) { $hidden_options .= '<a href="#" class="btn btn-block btn-outline btn-success" data-cliente="' . $row['uuid_cliente'] . '" id="subirArchivosBtn">Subir Documentos</a>'; } /** * LISTAR RUC/CEDULA DEL CLIENTE * DEPENDIENDO DEL TIPO DE CLIENTE */ $cedula_ruc = ""; $nombre_comercial = ""; $nombre = ""; if ($row["id_tipo_cliente"] == 1) { /** * LISTAR RUC DEL CLIENTE */ $cedula_ruc = $this->clientes_model->seleccionar_cliente_sociedades($row['uuid_cliente']); $cedula_ruc = !empty($cedula_ruc) ? implode(', ', array_map(function ($cedula_ruc) { return $cedula_ruc['ruc']; }, $cedula_ruc)) : ""; $nombre = $row["nombre"]; /** * LISTAR NOMBRE COMERCIALES DEL CLIENTE */ $nombre_comercial = $this->clientes_model->seleccionar_cliente_sociedades($row['uuid_cliente']); $nombre_comercial = !empty($nombre_comercial) ? implode(', ', array_map(function ($nombre_comercial) { return $nombre_comercial['nombre_comercial']; }, $nombre_comercial)) : ""; if (Auth::has_permission("acceso", "clientes/ver-cliente-juridico/(:any)")) { $nombre = "<a href='" . base_url("clientes/ver-cliente-juridico/" . $row['uuid_cliente']) . "'>" . $nombre_comercial . "</a>"; } } else { $nombre = $row["nombre"] . ' ' . $row["apellido"]; if (Auth::has_permission("acceso", "clientes/ver-cliente-natural/(:any)")) { $nombre = "<a href='" . base_url("clientes/ver-cliente-natural/" . $row['uuid_cliente']) . "'>" . $nombre . "</a>"; } $nombre_comercial = ''; $cedula_ruc = $row['cedula']; } /** * LISTAR TELEFONOS DEL CLIENTE */ $telefonos = $this->clientes_model->seleccionar_cliente_telefonos($row['uuid_cliente']); $telefonos = !empty($telefonos) ? implode(', ', array_map(function ($telefonos) { return $telefonos['no_telefono']; }, $telefonos)) : ""; /** * LISTAR CORREOS DEL CLIENTE */ /*$correos = $this->clientes_model->seleccionar_cliente_correos($row['uuid_cliente']); $correos = (!empty($correos) ? implode(', ', array_map(function($correos){ return $correos['correo']; }, $correos)) : ""); */ /** * Este boton es para seleccionar un cliente * desde el modal del modulo de contacto. */ $link_selecccionar_cliente = '<button class="viewOptions btn btn-success btn-sm" type="button" data-cliente="' . $row['uuid_cliente'] . '"><i class="fa fa-check hidden-lg"></i> <span class="hidden-xs hidden-sm hidden-md">Seleccionar</span></button>'; /** * Consultar el total de oportunidades que tiene el cliente. */ $total_oportunidades = $this->oportunidades_model->selecciona_total_oportunidades_cliente($row['uuid_cliente']); $total_oportunidades = !empty($total_oportunidades) ? $total_oportunidades[0]["total"] : 0; $score_cliente = $this->clientes_model->calculo_score_cliente($row['uuid_cliente']); $response->rows[$i]["id"] = $row['uuid_cliente']; $response->rows[$i]["cell"] = array(strip_tags($nombre), $nombre, $row['contacto_principal'], $score_cliente . '%', $row['origen_cliente'], $telefonos, $row['correo'], $usuario_asignado, date("d/m/Y", strtotime($row['fecha_creacion'])), $row['ultimo_contacto'], $total_oportunidades, $link_option, $hidden_options, $link_selecccionar_cliente); $i++; } } echo json_encode($response); exit; } }
?> <div class="col-lg-3"> <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="file-manager"> <h5>Mostrar:</h5> <select id="mostrar_tipo_archivo" class="form-control"> <option value="todos">Todos</option> <option value="documentos">Documentos</option> <option value="audio">Audio y Video</option> <option value="imagenes">Imagenes</option> </select> <div class="hr-line-dashed"></div> <?php if (Auth::has_permission("acceso", "documentos/crear-documentos")) { ?> <button id="subirDocumemntoBtn" class="btn btn-primary btn-block">Subir Archivos</button> <div class="hr-line-dashed"></div> <?php } ?> <h5>Folders</h5> <ul class="folder-list" style="padding: 0"> <?php foreach ($folders as $folder) { ?> <?php if (Auth::has_module_access(strtolower($folder['nombre']))) { ?> <li><a href="javascript:" class="folder-documentos" data-folder="<?php