示例#1
0
 /**
  * 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);
     }
 }