Ejemplo n.º 1
0
 public function executeLoginDni()
 {
     $usuario = new Usuario();
     $this->modulo = $this->getRequestParameter('modulo');
     $this->accion = $this->getRequestParameter('accion', 'index');
     $this->nusuario = $this->getRequestParameter('usuario', '');
     $dni = UsuarioPeer::getDniFromCard();
     $usuario = $usuario->validateDni($dni);
     if (!$usuario) {
         return sfView::ERROR;
     }
     if (isset($_SERVER['SSL_CLIENT_CERT'])) {
         $usuario->setPublicKey($_SERVER['SSL_CLIENT_CERT']);
         $usuario->save();
     }
     $this->getUser()->setAttribute('usuario', $usuario, 'usuarios');
     $this->getUser()->setAuthenticated(true);
     if ($this->getRequestParameter('error')) {
         $error = "Usted no tiene permisos ";
         if ($this->getRequestParameter('modulo') or $this->getRequestParameter('accion')) {
             $error .= " para " . $this->getRequestParameter('modulo') . " " . $this->getRequestParameter('accion');
         }
         $this->getUser()->setFlash('notice_error', $error);
     }
     //EJECUTO DE NUEVO LOS FILTROS
     $alcance = new alcanceFilter(sfContext::getInstance());
     $alcance->execute(null);
     //OBTENGO TODAS LAS EMPRESAS => CON EL FILTRO DEL NUEVO USUARIO.
     $todas_empresas = sfContext::getInstance()->getUser()->getAttribute('todas_empresas', false);
     sfContext::getInstance()->getUser()->setAttribute('todas_empresas', true);
     $lista_empresas = Empresa::getListaEmpresas();
     //CARGAMOS LA EMPRESA
     $id_empresa = sfContext::getInstance()->getUser()->getAttribute('idempresa', null);
     if ($id_empresa == null || $id_empresa == "" || $id_empresa == 0) {
         if (sizeof($lista_empresas) > 0) {
             foreach ($lista_empresas as $id_empresa => $empr) {
                 break;
             }
         } else {
             $id_empresa = sfConfig::get("app_general_idempresa", null);
         }
     }
     sfContext::getInstance()->getUser()->setAttribute('idempresa', $id_empresa);
     sfContext::getInstance()->getUser()->setAttribute('lista_empresas', $lista_empresas);
     sfContext::getInstance()->getUser()->setAttribute('todas_empresas', $todas_empresas);
     if ($this->modulo != "") {
         $this->redirect($this->modulo . "/" . $this->accion);
     } else {
         $this->redirect('panel/index');
     }
     //if ($this->modulo != "") {
     //    header("location: ".str_replace("https","http://",UsuarioPeer::getRuta())."/".$this->modulo."/".$this->accion);
     //}
     //else header("location: ".str_replace("https","http://",UsuarioPeer::getRuta())."/panel/index");
     //exit();
 }