function __construct() { parent::__construct(); $this->load->model('roles_model'); //HMVC Load Modules $this->load->module(array('modulos')); }
function __construct() { parent::__construct(); $this->load->model('contactos_model'); //HMVC Load Modules $this->load->module(array('actividades')); }
function __construct() { parent::__construct(); $this->load->model('proyectos_model'); //Cargar Clase Util de Base de Datos $this->load->dbutil(); }
function __construct() { parent::__construct(); $this->load->model('configuracion_model'); $this->load->module(array('actividades', 'roles', 'usuarios')); $this->load->library('Ajax_pagination'); //echo date('Y-m-d', strtotime(date('Y-m-d H:i:s'). ' +7 days')); }
function __construct() { parent::__construct(); //Cargar Clase Util de Base de Datos $this->load->dbutil(); $this->load->model('clientes_potenciales_model'); //HMVC Load Modules $this->load->module(array('contactos')); }
function __construct() { parent::__construct(); $this->load->model('casos_model'); //Load User Agent Library $this->load->library('mobile_detect'); //Cargar Clase Util de Base de Datos $this->load->dbutil(); }
function __construct() { parent::__construct(); $this->load->model('propiedades_model'); $this->load->dbutil(); $this->load->helper('number'); $this->load->module(array('proyectos', 'clientes', 'oportunidades', 'documentos', 'actividades')); $this->uuid_categoria = $this->propiedades_model->seleccionar_categoria_usuario(); }
function __construct() { parent::__construct(); $this->load->model('tablero_indicadores_model'); //HMVC Load Modules $this->load->module(array('oportunidades', 'propiedades', 'actividades')); //Cargar Clase Util de Base de Datos $this->load->dbutil(); }
function __construct() { parent::__construct(); $this->load->model('oportunidades_model'); //HMVC Load Modules $this->load->module(array('contactos', 'propiedades')); //Cargar Clase Util de Base de Datos $this->load->dbutil(); //echo CRM_Controller::$categoria_usuario; }
function __construct() { parent::__construct(); $this->load->model('actividades_model'); //Load User Agent Library $this->load->library('mobile_detect'); $this->load->module(array('documentos', 'usuarios')); //Cargar Clase Util de Base de Datos $this->load->dbutil(); }
function __construct() { parent::__construct(); $this->load->model('clientes_model'); //HMVC Load Modules $this->load->module(array('contactos', 'actividades', 'documentos', 'oportunidades')); $this->load->helper(array('util')); //Cargar Clase Util de Base de Datos $this->load->dbutil(); //$this->output->enable_profiler(TRUE); }
function __construct() { parent::__construct(); //Para el formato de Fecha en las galeria de imagenes setlocale(LC_ALL, 'es-ES'); $loc = setlocale(LC_TIME, NULL); $this->load->helper(array('form', 'url', 'file', 'number', 'util', 'documentos', 'text')); $this->load->model('documentos_model'); $this->load->dbutil(); $this->load->module(array('proyectos', 'clientes', 'modulos')); $this->load->library('Ajax_pagination'); $this->load->library('Parser'); }
function __construct() { parent::__construct(); $config = array('mailtype' => 'html', 'charset' => 'utf-8', 'wordwrap' => TRUE); $this->load->helper(array('file', 'string')); $this->load->model('login_model'); $this->load->library(array('encrypt')); $this->load->library('email', $config); //Encriptar el texto $this->encrypt->set_cipher(MCRYPT_RIJNDAEL_256); //For Debug Code //$this->output->enable_profiler(ENVIRONMENT == "development"); $this->load->module(array('usuarios')); }
public function __construct() { parent::__construct(); require APPPATH . 'libraries/vendor/autoload.php'; Predis\Autoloader::register(); try { $this->redis = new Predis\Client(); $this->is_redis_as_runnig = true; } catch (Exception $e) { $this->is_redis_as_runnig = false; log_message('error', ' REDIS: ' . $e->getMessage()); } //Se comento esto porque esta mandando error // Se debe revisar /*if(Auth::has_permission('listar-actividades__ver_todas', 'actividades/listar-actividades')){ $this->subordinados = array("id_usuario"=>null); } else{*/ $this->subordinados = @CRM_Controller::seleccionar_subordinados(); //}*/ }
/** * Consultar la tabla relacional y obtener el uuid y nombre de campo * para armar los <option> a mostrar en el campo <select> * * @return array */ private function buscar_relacion_campo($tabla_relacional = NULL) { if ($tabla_relacional == NULL) { return false; } /** * Al es singular de estas tablas no se les quita la terminacion "es" * sino solamnete la letra "s". */ $nombre_tablas_singular_excepcion = array("clientes", "proy_proyectos"); //Verificar si el nombre de la tabla contiene el caracter "_" raya abajo. if (preg_match("/(\\[\\[_[^]]*\\]\\])/im", $tabla_relacional) || preg_match("/_/im", $tabla_relacional)) { $tablaArr = explode('_', $tabla_relacional, 2); //Poner en singualr el nombre de la tabla, para poder armar el campo uuid de la tabla. $uuid_tabla = !empty($tablaArr[1]) && is_string($tablaArr[1]) ? preg_match('/es$/', $tablaArr[1]) && !in_array($tablaArr[1], $nombre_tablas_singular_excepcion) ? preg_replace('/es$/', "", $tablaArr[1]) : preg_replace('/s$/', "", $tablaArr[1]) : ""; } else { //Poner en singualr el nombre de la tabla, para poder armar el campo uuid de la tabla. $uuid_tabla = preg_match('/es$/', $tabla_relacional) ? preg_replace('/es$/', "", $tabla_relacional) : preg_replace('/s$/', "", $tabla_relacional); } //Campos y clausula if ($tabla_relacional == "proy_proyectos_categoria") { //Caso Especial join en multiples Tablas $uuid_categoria_usuario = CRM_Controller::$uuid_categoria_usuario; $fields = array("HEX(proy.uuid_proyecto) AS uuid", "proy.nombre"); if (CRM_Controller::$categoria_usuario_key == 'admin') { return self::$ci->db->select($fields)->distinct()->from('proy_proyectos as proy')->order_by('proy.nombre', 'ASC')->get()->result_array(); } else { $clause = array("proy.uuid_categoria = UNHEX('{$uuid_categoria_usuario}')" => NULL); $result = self::$ci->db->select($fields)->distinct()->from('proy_proyectos as proy')->where($clause)->order_by('proy.nombre', 'ASC')->get()->result_array(); return $result; } } else { if ($tabla_relacional == "rpo_propiedades_categoria" || $tabla_relacional == "rpo_propiedades") { $tabla_relacional = "rpo_propiedades"; $uuid_categoria = CRM_Controller::$uuid_categoria_usuario; $fields = array("HEX(prop.uuid_propiedad) AS uuid", "prop.nombre"); $clause = array("procat.valor" => 'disponible', "prop.nombre <> ''" => NULL); if (CRM_Controller::$categoria_usuario_key != "admin") { $clause["prop.uuid_categoria = '" . $uuid_categoria . "'"] = NULL; } return self::$ci->db->select($fields)->distinct()->from('rpo_propiedades AS prop')->join('rpo_propiedades_cat AS procat', 'procat.id_cat = prop.id_estado_propiedad', 'LEFT')->where($clause)->order_by('prop.nombre', 'ASC')->get()->result_array(); } else { if ($tabla_relacional == "usuarios") { // Array con los uuid de usuarios // que el usario actual puede ver. $ver_usuarios = @CRM_Controller::andrea_ACL(); $fields = array("HEX(uuid_{$uuid_tabla}) AS uuid", "CONCAT_WS(' ', IF(nombre != '', nombre, ''), IF(apellido != '', apellido, '')) AS nombre"); $clause = array("nombre <> ''" => NULL); self::$ci->db->select($fields)->distinct()->from('usuarios')->where($clause)->order_by('nombre', 'ASC'); if (CRM_Controller::$categoria_usuario_key != 'admin' && !empty($ver_usuarios["uuid_usuario"])) { self::$ci->db->where_in("HEX(uuid_usuario)", $ver_usuarios["uuid_usuario"]); } return self::$ci->db->get()->result_array(); } else { if ($tabla_relacional == "proy_proyectos" || $tabla_relacional == "proy_tipo_transaccion") { $fields = array("HEX(uuid_{$uuid_tabla}) AS uuid", "nombre"); $clause = array("nombre <> ''" => NULL); } else { if ($tabla_relacional == "proy_tipo_transaccion") { $fields = array("HEX(uuid_tipo_transaccion) AS uuid", "nombre"); $clause = array("nombre <> ''" => NULL); } else { if ($tabla_relacional == "cl_clientes_sociedades") { $fields = array("HEX(uuid_sociedad) AS uuid", "nombre_comercial AS nombre"); $clause = array("nombre_comercial <> ''" => NULL); } else { if ($tabla_relacional == "usuarios_categoria") { $fields = array("HEX(uuid_{$uuid_tabla}) AS uuid", "nombre"); $clause = array("nombre <> ''" => NULL, "key <> 'admin'" => NULL); } else { if ($tabla_relacional == "act_tipo_actividades") { $fields = array("HEX(uuid_tipo_actividad) AS uuid", "nombre", "icono"); $clause = array("nombre <> ''" => NULL); } else { if ($tabla_relacional == "agt_agentes") { $fields = array("HEX(uuid_agente) AS uuid", "CONCAT_WS(' ', IF(nombre != '', nombre, ''), IF(apellido != '', apellido, '')) AS nombre"); $clause = array("nombre <> ''" => NULL); } elseif ($tabla_relacional == 'opp_oportunidades') { $fields = array("HEX(opp.uuid_oportunidad) AS uuid", "opp.nombre AS nombre"); $clause = array("nombre <> ''" => NULL, "valor NOT IN('vendido', 'venta_perdida')" => NULL); if (CRM_Controller::$categoria_usuario_key != 'admin') { $uuid_usuarios = @CRM_Controller::andrea_ACL(); } self::$ci->db->select($fields); self::$ci->db->distinct(); self::$ci->db->from('opp_oportunidades AS opp'); self::$ci->db->join('opp_oportunidades_cat AS cat', 'cat.id_cat = opp.id_etapa_venta', 'LEFT'); self::$ci->db->where($clause); if (CRM_Controller::$categoria_usuario_key != 'admin' && !empty($ver_usuarios["uuid_usuario"])) { self::$ci->db->where_in("HEX(id_asignado)", $ver_usuarios["uuid_usuario"]); } $query = self::$ci->db->get(); return $query->result_array(); } else { $fields = array("HEX(uuid_{$uuid_tabla}) AS uuid", "CONCAT_WS(' ', IF(nombre != '', nombre, ''), IF(apellido != '', apellido, '')) AS nombre"); $clause = array("nombre <> ''" => NULL); } } } } } } //Si la tabla relacional es la de usuarios //no mostrar el usuario 1 /*if($tabla_relacional == "usuarios"){ $clause["id_usuario <> 1"] = NULL; }*/ //Query return self::$ci->db->select($fields)->distinct()->from($tabla_relacional)->where($clause)->order_by('nombre', 'ASC')->get()->result_array(); } } } }
/** * 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; }
/** * Retorna la cantidad de propiedad disponible * segun tipo de transaccion "Alquiler/Venta". * * @author jluispinilla * @param string $tipo_transaccion */ function comp__seleccionar_propiedades_disponibles($tipo_transaccion = NULL) { $tipo_transaccion = empty($tipo_transaccion) ? $this->input->post('tipo_transaccion', true) : $tipo_transaccion; //busqueda por rango de fecha $fecha_inicio = !empty($this->input->post('fecha_inicio', true)) ? $this->input->post('fecha_inicio', true) : date("Y-m-d", strtotime("-1 months")); $fecha_fin = !empty($this->input->post('fecha_fin', true)) ? $this->input->post('fecha_fin', true) : date('Y-m-d'); $uuid_usuario = $this->input->post('uuid_usuario', true); if (empty($tipo_transaccion)) { return false; } $fields = array("COUNT(opp.uuid_oportunidad) AS total_disponible"); /** * Permiso Default: ver las asignadas o las que ha creado */ $clause = array("ocat.etiqueta <> 'Ganado'" => NULL, "procat.etiqueta <> 'No Disponible'" => NULL, "ptt.nombre LIKE '%{$tipo_transaccion}%'" => NULL); /** * Array con los uuid de usuarios * que el usario actual puede ver. */ $ver_usuarios = @CRM_Controller::andrea_ACL(); $this->db->select($fields)->distinct()->from('opp_oportunidades AS opp')->join('cl_clientes AS cl', 'cl.uuid_cliente = opp.uuid_cliente', 'LEFT')->join('cp_clientes_potenciales AS clp', 'clp.uuid_cliente_potencial = opp.uuid_cliente_potencial', 'LEFT')->join('cl_cliente_sociedades_contactos AS clcon', 'clcon.uuid_cliente = cl.uuid_cliente', 'LEFT')->join('con_contactos AS con', 'con.uuid_contacto = clcon.uuid_contacto', 'LEFT')->join('opp_oportunidades_cat AS ocat', 'ocat.id_cat = opp.id_etapa_venta', 'LEFT')->join('usuarios AS usr1', 'usr1.uuid_usuario = opp.id_asignado', 'LEFT')->join('usuarios AS usr2', 'usr2.uuid_usuario = opp.creado_por', 'LEFT')->join('cl_clientes_cat AS ccat', 'ccat.id_cat = cl.id_tipo_cliente', 'LEFT')->join('rpo_propiedades AS prop', 'prop.uuid_propiedad = opp.uuid_propiedad', 'LEFT')->join('rpo_propiedades_cat AS procat', 'procat.id_cat = prop.id_estado_propiedad', 'LEFT')->join('proy_tipo_transaccion AS ptt', 'ptt.uuid_tipo_transaccion = opp.uuid_tipo_transaccion', 'LEFT'); /** * verificar array $ver_usuarios */ if (!empty($ver_usuarios["uuid_usuario"])) { $usuarios = $ver_usuarios["uuid_usuario"]; $usuarios = !empty($usuarios) ? implode(", ", array_map(function ($usuarios) { return "'" . $usuarios . "'"; }, $usuarios)) : ""; $clause["HEX(opp.id_asignado) IN(" . $usuarios . ")"] = NULL; } //Si existe busqueda por el usuario //No aplicar condicion de subordinado if (!empty($uuid_usuario)) { $clause = array("ocat.etiqueta <> 'Ganado'" => NULL, "ptt.nombre LIKE '%{$tipo_transaccion}%'" => NULL, "(HEX(opp.id_asignado) IN('" . $uuid_usuario . "') || HEX(opp.creado_por) IN('" . $uuid_usuario . "'))" => NULL); } //Filtrar por rango de fecha if (!empty($fecha_inicio)) { $fecha_inicio = date("Y-m-d H:i:s", strtotime($fecha_inicio)); $clause["prop.fecha_creacion >="] = $fecha_inicio; } if (!empty($fecha_fin)) { $fecha_fin = date("Y-m-d 23:59:59", strtotime($fecha_fin)); $clause["prop.fecha_creacion <="] = $fecha_fin; } $this->db->where($clause); return $this->db->get()->result_array(); }
public function __construct() { //Construct Padre parent::__construct(); //Instancia del core de CI self::$ci =& get_instance(); /* * Cargar el id del modulo actual */ self::$id_modulo = $this->id_modulo(); /* * Cargar el uuid del usuario que esta loguiado. */ self::$uuid_usuario = $this->uuid_usuario(); /* * Cargar el id categoria a la que pertenece el * usuario que esta loguiado. */ self::$id_categoria_usuario = $this->categoria_usuario("id_categoria"); /* * Cargar el uuid categoria a la que pertenece el * usuario que esta loguiado. */ self::$uuid_categoria_usuario = $this->categoria_usuario("uuid_categoria"); self::$categoria_usuario_key = $this->categoria_usuario("key"); //roles del usuario self::$user_role = $this->getRole(); /* * Verificando que este usuario este en estado pendiente para redireccionar */ if ($this->session->userdata('id_usuario') && $this->session->userdata('status') == 'Pendiente') { if (self::$ci->router->fetch_method() != 'ver_usuario' && self::$ci->router->fetch_method() != 'logout') { redirect('/usuarios/ver-usuario/' . $this->session->userdata('id_usuario')); } } //Cargar Libreria Assets $this->load->library('assets'); //carga la libreria de notificaciones //$this->load->library('notificaciones'); //Cargar Libreria para usuario $this->load->library('grafica_usuario'); //Cargar Libreria template $this->load->library('template'); //Cargar Libreria de Autenticacion //Verifica el rol y los permisos //que tiene el usuario. $this->load->library('auth'); $this->load->library('core'); /** * Cargar libreria Subpanel */ $this->load->library('subpanel'); /** * Cargar libreria para utility */ $this->load->library('util'); /** * Cargar libreria para modales */ $this->load->library('modal'); /** * Cargar libreria para jqgrid */ $this->load->library('jqgrid'); /** * Cargar libreria para catalogos */ $this->load->library('catalogos'); /** * carga libreria de jobs */ $this->load->library('jobs'); $this->load->library('notificaciones'); /** * Cargar libreria phpFastCache * * phpFastCache is Lightweight, Fastest & Security, * supported many caching class (APC, MemCached, MemCache, Files, PDO, WinCache) */ $this->load->library('phpfastcache/3.0.0/phpfastcache'); phpFastCache::setup("storage", "auto"); phpFastCache::$config = array("storage" => "auto", "default_chmod" => 0777, "htaccess" => true, "path" => "application/cache", "securityKey" => "auto", "memcache" => array(array("127.0.0.1", 11211, 1)), "redis" => array("host" => "127.0.0.1", "port" => "", "password" => "", "database" => "", "timeout" => ""), "extensions" => array(), "fallback" => "files"); if (self::$cache == "") { self::$cache = phpFastCache("auto"); } }
/** * Retorna el total de oportunidades * de un cliente. * * @param string $uuid_cliente * @return array */ function selecciona_total_oportunidades_cliente($uuid_cliente = NULL) { if ($uuid_cliente == NULL) { return false; } /** * Array con los uuid de usuarios * que el usario actual puede ver. */ $ver_usuarios = @CRM_Controller::andrea_ACL(); $fields = array("COUNT(opp.id_oportunidad) AS total"); $clause = array("opp.uuid_cliente = UNHEX('{$uuid_cliente}')" => NULL); $result = $this->db->select($fields)->distinct()->from('opp_oportunidades AS opp'); if (!empty($ver_usuarios["uuid_usuario"])) { $usuarios = $ver_usuarios["uuid_usuario"]; $usuarios = !empty($usuarios) ? implode(", ", array_map(function ($usuarios) { return "'" . $usuarios . "'"; }, $usuarios)) : ""; $clause["HEX(opp.id_asignado) IN(" . $usuarios . ")"] = NULL; } return $this->db->where($clause)->get()->result_array(); }
function __construct() { parent::__construct(); $this->load->model('modulos_model'); }
function __construct() { parent::__construct(); }