Example #1
0
 /**
  * Asigno permiso al usuario-proyecto-app
  * 
  * Y además creo el usuario en el cpanel del proyecto.
  * 
  * @return boolean
  */
 public function create()
 {
     $id = parent::create();
     if ($id) {
         // Para saber el perfil que tiene el usuario con la empresa.
         $usuario = new PcaeUsuarios($this->IdUsuario);
         $perfil = $usuario->getPerfilEmpresa($this->IdEmpresa);
         $idPerfil = $perfil->getId();
         unset($usuario);
         unset($perfil);
         $proyectoApp = new PcaeProyectosApps();
         $filtro = "IdProyecto='{$this->IdProyecto}' AND IdApp='{$this->IdApp}'";
         $rows = $proyectoApp->cargaCondicion("*", $filtro);
         unset($proyectoApp);
         $row = $rows[0];
         if ($row['Id']) {
             $connection = array('dbEngine' => $row['DbEngine'], 'host' => $row['Host'], 'user' => $row['User'], 'password' => $row['Password'], 'dataBase' => $row['Database']);
             $em = new EntityManager($connection);
             if ($em->getDbLink()) {
                 $query = "select Id from {$connection['dataBase']}.CpanUsuarios where IdUsuario='{$this->IdUsuario}'";
                 $em->query($query);
                 $rows = $em->fetchResult();
                 $id = $rows[0]['Id'];
                 if ($id) {
                     $query = "update {$connection['dataBase']}.CpanUsuarios set IdPerfil='{$idPerfil}' where Id='{$id}'";
                     $em->query($query);
                 } else {
                     $query = "insert into {$connection['dataBase']}.CpanUsuarios (IdUsuario,IdPerfil,IdRol,IdTipoUsuario) values ('{$this->IdUsuario}','{$idPerfil}','1','1');";
                     $em->query($query);
                     $lastId = $em->getInsertId();
                     $query = "update {$connection['dataBase']}.CpanUsuarios set SortOrder='{$lastId}', PrimaryKeyMD5='" . md5($lastId) . "' WHERE Id='{$lastId}'";
                     $em->query($query);
                 }
                 $em->desConecta();
             }
             unset($em);
         }
     }
     return $id;
 }
 public function LoginAction()
 {
     switch ($this->request['METHOD']) {
         case 'GET':
             $template = $this->entity . '/login.html.twig';
             break;
         case 'POST':
             $user = new PcaeUsuarios();
             $usuario = $user->find("EMail", $this->request['email']);
             unset($user);
             if ($usuario->getEMail() != '') {
                 if ($usuario->getPassword() == md5($this->request['password'] . $this->getSemilla())) {
                     $_SESSION['usuarioPortal'] = array('Id' => $usuario->getId(), 'IdPerfil' => '1', 'Nombre' => $usuario->getNombre());
                     //Actualizar el registro de entradas
                     $usuario->setNLogin($usuario->getNLogin() + 1);
                     $usuario->setUltimoLogin(date('Y-m-d H:i:s'));
                     $usuario->save();
                     // Crear la variable de sesion con el array de
                     // las empresas, proyectos y apps accesibles.
                     $_SESSION['usuarioPortal']['accesosPortal'] = $usuario->getArrayAccesos();
                     $this->values['accesosPortal'] = $_SESSION['usuarioWeb']['accesosPortal'];
                     //print_r($this->values['accesosPortal']);
                     $template = $this->entity . "/proyectos.html.twig";
                 } else {
                     $this->values['email'] = $this->request['email'];
                     $this->values['errorPassword'] = true;
                     return $this->IndexAction();
                 }
             } else {
                 $this->values['errorUsuario'] = true;
                 return $this->IndexAction();
             }
             break;
     }
     return array('template' => $template, 'values' => $this->values);
 }
Example #3
0
 /**
  * Devuelve un array con los agentes que son REPARTIDORES (ROL=2)
  * y están adscritos a la empresa y sucursal indicada.
  * Si el agente en curso es repartidor, solo se mostrará el mismo.
  *
  * @param integer $idEmpresa Opcional
  * @param integer $idSucursal Opcional
  * @return array
  */
 public function getRepartidores($idEmpresa = '', $idSucursal = '')
 {
     $usuario = new Agentes($_SESSION['usuarioPortal']['Id']);
     switch ($usuario->getIDRol()->getIDTipo()) {
         case '2':
             // ROLL REPARTIDOR
             $repartidores[] = array('Id' => $usuario->getIDAgente(), 'Value' => $usuario->getNombre());
             break;
         default:
             // RESTO DE ROLES
             //if ($idEmpresa == '')
             //    $idEmpresa = $_SESSION['emp'];
             if ($idSucursal == '') {
                 $idSucursal = $_SESSION['suc'];
             }
             $usuariosPcae = new PcaeUsuarios();
             $em = new EntityManager($this->getConectionName());
             $link = $em->getDbLink();
             if (is_resource($link)) {
                 $query = "select a.IDAgente as Id, concat(u.Nombre,u.Apellidos) as Value\n                             from \n                                {$this->getDataBaseName()}.{$this->getTableName()} as a,\n                                {$usuariosPcae->getDataBaseName()}.{$usuariosPcae->getTableName()} as u\n                            where\n                            (a.IDAgente <> 1) AND                            \n                            (a.IDAgente = u.Id) AND\n                            (a.IDRol='2') AND\n                            (a.Activo='1') AND (\n                            (a.IDSucursal='{$idSucursal}') OR (a.IDSucursal='0'))";
                 $em->query($query);
                 $repartidores = $em->fetchResult();
                 $em->desConecta();
                 $repartidores[] = array('Id' => '', 'Value' => '** Todos **');
             }
             unset($em);
             break;
     }
     unset($usuario);
     return $repartidores;
 }
Example #4
0
 /**
  * Devuelve un array (Id,Value) con los usuarios adscritos 
  * a la empresa $idEmpresa
  * 
  * @param integer $idEmpresa El id de la empresa
  * @return array Array de usuarios
  */
 public function getUsuariosEmpresa($idEmpresa)
 {
     $usuarios = array();
     $usu = new PcaeEmpresasUsuarios();
     $rows = $usu->cargaCondicion("IdUsuario", "IdEmpresa='{$idEmpresa}'");
     unset($usu);
     foreach ($rows as $row) {
         if ($row['IdUsuario'] != '1') {
             $usu = new PcaeUsuarios($row['IdUsuario']);
             $usuarios[] = array("Id" => $row['IdUsuario'], "Value" => $usu->getApellidosNombre() . " <" . $usu->getEMail() . ">");
         }
     }
     unset($usu);
     return $usuarios;
 }