/** * Devuelve un array con los agentes que son CAMARISTAS (ROL=3) * y están adscritos a la empresa y sucursal indicada. * Si el agente en curso es camarista, solo se mostrará el mismo. * * @param integer $idEmpresa Opcional * @param integer $idSucursal Opcional * @return array */ public function getCamaristas($idEmpresa = '', $idSucursal = '') { $usuario = new Agentes($_SESSION['usuarioPortal']['Id']); switch ($usuario->getIDRol()->getIDTipo()) { case '3': // ROLL CAMARISTA $camaristas[] = array('Id' => $usuario->getIDAgente(), 'Value' => $usuario->getNombre()); break; default: // RESTO DE ROLES //if ($idEmpresa == '') // $idEmpresa = $_SESSION['emp']; if ($idSucursal == '') { $idSucursal = $_SESSION['suc']; } $em = new EntityManager($this->getConectionName()); $link = $em->getDbLink(); if (is_resource($link)) { $query = "select IDAgente as Id, Nombre as Value from {$this->getTableName()} where " . "(a.IDAgente <> 1) AND " . "(Rol='3') AND " . "(Activo='1') AND ( " . "(IDSucursal='{$idSucursal}') OR isnull(IDSucursal))"; $em->query($query); $camaristas = $em->fetchResult(); $em->desConecta(); } unset($em); break; } unset($usuario); return $camaristas; }
protected function cargaValores() { if (!isset($_SESSION['usuarioPortal']['menu'])) { // Está logeado (viene del portal), pero es la primera vez que entra $_SESSION['usuarioPortal']['accesosPortal'] = array(); // Carga la cadena de conexion a la base de datos del proyecto $proyectoApp = new PcaeProyectosApps(); $proyectoApp = $proyectoApp->find('PrimaryKeyMD5', $this->request[1]); //print_r($proyectoApp); $_SESSION['project']['Id'] = $proyectoApp->getId(); $_SESSION['project']['IdEmpresa'] = $proyectoApp->getIdProyecto()->getIdEmpresa()->getId(); $_SESSION['project']['empresa'] = $proyectoApp->getIdProyecto()->getIdEmpresa()->getRazonSocial(); $_SESSION['project']['title'] = $proyectoApp->getIdProyecto()->getProyecto(); $_SESSION['project']['url'] = $proyectoApp->getUrl(); $_SESSION['project']['conection'] = array('dbEngine' => $proyectoApp->getDbEngine(), 'host' => $proyectoApp->getHost(), 'user' => $proyectoApp->getUser(), 'password' => $proyectoApp->getPassword(), 'database' => $proyectoApp->getDatabase()); // Carga la cadena de conexión al servidor ftp del proyecto $_SESSION['project']['ftp'] = array('server' => $proyectoApp->getFtpServer(), 'port' => $proyectoApp->getFtpPort(), 'timeout' => $proyectoApp->getFtpTimeout(), 'folder' => $proyectoApp->getFtpFolder(), 'user' => $proyectoApp->getFtpUser(), 'password' => $proyectoApp->getFtpPassword()); unset($proyectoApp); // Establece el perfil del usuario para el proyecto y carga // el menú en base a su perfil $usuario = new Agentes($_SESSION['usuarioPortal']['Id']); //print_r($usuario); if ($usuario->getStatus()) { $idPerfil = $usuario->getIDPerfil()->getPrimaryKeyValue(); $_SESSION['usuarioPortal']['IdPerfil'] = $idPerfil; $_SESSION['usuarioPortal']['IdRol'] = $usuario->getIDRol()->getIDTipo(); $_SESSION['usuarioPortal']['email'] = $usuario->getEMail(); $_SESSION['emp'] = $_SESSION['project']['IdEmpresa']; $_SESSION['usuarioPortal']['sucursales'] = $usuario->getSucursales('', false); $_SESSION['suc'] = $_SESSION['usuarioPortal']['sucursales'][0]['Id']; $_SESSION['usuarioPortal']['menu'] = $usuario->getArrayMenu(); // Carga las variables de entorno y web del proyecto $this->cargaVariables(); // Activar la versión $var = new CpanVariables('Pro', 'Web'); $erp = $var->getNode('erp'); $_SESSION['ver'] = $erp['version'] != '' ? $erp['version'] : '0'; // Activar o no la posibilidad de cambiar precios $rolesCambioPrecio = explode(",", trim($erp['rolesCambioPrecios'])); $_SESSION['usuarioPortal']['cambioPrecios'] = in_array($_SESSION['usuarioPortal']['IdRol'], $rolesCambioPrecio); // Poner en la sesión la política de actualización de precios en base $_SESSION['usuarioPortal']['actuPrecios'] = $erp['actuPrecios'] != '' ? $erp['actuPrecios'] : 'PVP'; // Poner en la sesión el margén mínimo de venta $_SESSION['usuarioPortal']['margenMinimo'] = $erp['alertaMargen'] > 0 ? $erp['alertaMargen'] : 0; // Poner en la sesión si se generar alertas o no por falta de stock $_SESSION['usuarioPortal']['alertaStock'] = $erp['alertaStock']; // Establece los idiomas en base a la varible web del proyecto /** $langs = trim($_SESSION['VARIABLES']['WebPro']['globales']['lang']); $_SESSION['idiomas']['disponibles'] = ($langs == '') ? array('0' => 'es') : explode(",", $langs); if (!isset($_SESSION['idiomas']['actual'])) { $_SESSION['idiomas']['actual'] = 0; } */ } //print_r($_SESSION); unset($usuario); } }