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(); }