Esempio n. 1
0
 public function getNombreUsuario()
 {
     $auxObj = UsuarioPeer::retrieveByPk($this->getIdUsuario());
     if ($auxObj instanceof Usuario) {
         return $auxObj->getNombreCompleto();
     } else {
         return __('---');
     }
 }
 /**
  * Edita los datos actualizables del usuario actual.
  * @version 15-04-09
  */
 public function executeEdit()
 {
     $usuario_actual = Usuario::getUsuarioActual();
     $this->usuario = UsuarioPeer::retrieveByPk($usuario_actual->getPrimaryKey());
     if ($this->getRequest()->getMethod() == sfRequest::POST) {
         $this->updateUsuarioFromRequest();
         $this->saveUsuario($this->usuario);
         $this->getUser()->setFlash('notice', 'Las modificaciones se han guardado');
         if ($this->getRequestParameter('save_and_show')) {
             return $this->redirect('preferencias/show');
         } else {
             return $this->redirect('preferencias/edit');
         }
     } else {
         $this->labels = $this->getLabels();
     }
 }
 /**
  * Execute this filter.
  *
  * @param FilterChain The filter chain.
  *
  * @return void
  * @throws <b>FilterException</b> If an error occurs during execution.
  */
 public function execute($filterChain)
 {
     $context = $this->getContext();
     $usuario_actual = $context->getInstance()->getUser()->getAttribute('usuario', null, 'usuarios');
     if (!$context->getInstance()->getUser()->isAuthenticated()) {
         $usuario_actual = UsuarioPeer::retrieveByPk(UsuarioPeer::getIdUsuarioInvitado());
         $usuario_actual->cargarOtrosDatos();
         $usuario_actual->registrarVisita();
         $context->getInstance()->getUser()->setAttribute('usuario', $usuario_actual, 'usuarios');
     }
     $modulo = $context->getModuleName();
     $accion = $context->getActionName();
     if (isset($usuario_actual)) {
         $usuario_actual->guardarVisita();
     }
     if (!$usuario_actual->tienePermiso($modulo, $accion)) {
         $context->getInstance()->getUser()->setAttribute('sinPermisos', true, 'fallos');
         $context->getInstance()->getUser()->setAttribute('modulo', $modulo, 'fallos');
         $context->getInstance()->getUser()->setAttribute('accion', $accion, 'fallos');
         if ($context->getInstance()->getUser()->isAuthenticated()) {
             //Ana: 04-02-09   $context->getController()->forward('login' , 'secure');
             $context->getController()->forward('login', 'index');
             throw new sfStopException();
             // Rober 14-01-09
             $filterChain->execute();
             //?
         } else {
             $context->getInstance()->getUser()->setAttribute('usuario', null, 'usuarios');
             $context->getController()->forward('login', 'index');
             throw new sfStopException();
             // Rober 14-01-09
             $filterChain->execute();
             //?
         }
     }
     // Execute next filter*/
     $filterChain->execute();
 }
Esempio n. 4
0
 /**
  * @param array $aVariable
  * @returns array
  */
 private function llenarVariables($aVariable)
 {
     $aDato = array();
     foreach ($aVariable as $idx => $result) {
         //Recorrer las variables
         switch ($idx) {
             // me fijo que variables debo enviar al template de resultado
             case 'cuenta':
                 if (array_key_exists('loop', $result) and $result['loop'] == 1) {
                     $criteria = new Criteria();
                     $cuentas = CuentaPeer::doSelect($criteria);
                     foreach ($cuentas as $cuenta) {
                         $aDato['cuenta'][] = $cuenta->toArray();
                     }
                 } else {
                     if ($this->getRequestParameter('cuenta_id')) {
                         $cuenta = CuentaPeer::retrieveByPk($this->getRequestParameter('cuenta_id'));
                         $aDato['cuenta'] = $cuenta->toArray();
                     }
                 }
                 break;
             case 'responsable':
                 if (array_key_exists('loop', $result) and $result['loop'] == 1) {
                     $criteria = new Criteria();
                     if ($this->getRequestParameter('fk_cuenta_id')) {
                         $criteria->add(ResponsablePeer::FK_CUENTA_ID, $this->getRequestParameter('fk_cuenta_id'));
                     }
                     $responsables = ResponsablePeer::doSelect($criteria);
                     foreach ($responsables as $responsable) {
                         $aDato['responsable'][] = $responsable->toArray();
                     }
                 } else {
                     if ($this->getRequestParameter('responsable_id')) {
                         $responsable = ResponsablePeer::retrieveByPk($this->getRequestParameter('responsable_id'));
                         $aDato['responsable'] = $responsable->toArray();
                     }
                 }
                 break;
             case 'alumno':
                 //dependiendo si es una variables de cilcos
                 if (array_key_exists('loop', $result) and $result['loop'] == 1) {
                     $criteria = new Criteria();
                     if ($this->getRequestParameter('division_id')) {
                         $criteria->add(DivisionPeer::ID, $this->getRequestParameter('division_id'));
                     }
                     if ($this->getRequestParameter('fk_cuenta_id')) {
                         $criteria->add(AlumnoPeer::FK_CUENTA_ID, $this->getRequestParameter('fk_cuenta_id'));
                     }
                     $criteria->addJoin(RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID);
                     $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
                     $criteria->addAscendingOrderByColumn(AlumnoPeer::APELLIDO);
                     $alumnos = AlumnoPeer::doSelect($criteria);
                     foreach ($alumnos as $alumno) {
                         $aDato['alumno'][] = $alumno->toArrayInforme();
                     }
                 } else {
                     if ($this->getRequestParameter('alumno_id')) {
                         $alumno = AlumnoPeer::retrieveByPk($this->getRequestParameter('alumno_id'));
                         $aDato['alumno'] = $alumno->toArrayInforme();
                     }
                 }
                 break;
             case 'division':
                 if ($this->getRequestParameter('division_id')) {
                     $d = DivisionPeer::retrieveByPK($this->getRequestParameter('division_id'));
                 } else {
                     $c = new Criteria();
                     $c->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $this->getRequestParameter('alumno_id'));
                     $relAlumnoDivision = RelAlumnoDivisionPeer::doSelectOne($c);
                     $d = $relAlumnoDivision->getDivision();
                 }
                 $aDato['division'] = $d->toArrayInforme();
                 break;
             case 'establecimiento':
                 if ($this->getUser()->getAttribute('fk_establecimiento_id')) {
                     $establecimiento = EstablecimientoPeer::retrieveByPk($this->getUser()->getAttribute('fk_establecimiento_id'));
                     $aDato['establecimiento'] = $establecimiento->toArrayInforme();
                 }
                 break;
             case 'ciclolectivo':
                 if ($this->getUser()->getAttribute('fk_ciclolectivo_id')) {
                     $ciclolectivo_id = $this->getUser()->getAttribute('fk_ciclolectivo_id');
                     $ciclolectivo = CiclolectivoPeer::retrieveByPk($ciclolectivo_id);
                     $aDato['ciclolectivo'] = $ciclolectivo->toArray();
                 }
                 break;
             case 'locacion':
                 if (array_key_exists('loop', $result) and $result['loop'] == 1 and $this->getUser()->getAttribute('fk_establecimiento_id')) {
                     $c = new Criteria();
                     $c->add(RelEstablecimientoLocacionPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
                     $c->addJoin(RelEstablecimientoLocacionPeer::FK_LOCACION_ID, LocacionPeer::ID);
                     $locaciones = LocacionPeer::doSelect($c);
                     foreach ($locaciones as $locacion) {
                         $aDato['locacion'][] = $locacion->toArray();
                     }
                 } else {
                     if ($this->getRequestParameter('locacion_id')) {
                         $c = new Criteria();
                         $c->add(LocacionPeer::ID, $this->getRequestParameter('locacion_id'));
                         $locacion = LocacionPeer::doSelect($c);
                         $aDato['locacion'] = $locacion->toArray();
                     }
                 }
                 break;
             case 'espacio':
                 if (array_key_exists('loop', $result) and $result['loop'] == 1 and $this->getUser()->getAttribute('fk_establecimiento_id')) {
                     $c = new Criteria();
                     $c->add(RelEstablecimientoLocacionPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
                     $c->addJoin(RelEstablecimientoLocacionPeer::FK_LOCACION_ID, LocacionPeer::ID);
                     if ($this->getRequestParameter('locacion_id')) {
                         $c->add(LocacionPeer::ID, $this->getRequestParameter('locacion_id'));
                     }
                     $c->addJoin(EspacioPeer::FK_LOCACION_ID, LocacionPeer::ID);
                     $espacios = EspacioPeer::doSelect($c);
                     foreach ($espacios as $espacio) {
                         $aDato['espacio'][] = $espacio->toArray();
                     }
                 } else {
                     if ($this->getRequestParameter('espacio_id')) {
                         $c = new Criteria();
                         $c->add(EspacioPeer::ID, $this->getRequestParameter('espacio_id'));
                         $espacio = EspacioPeer::doSelect($c);
                         $aDato['espacio'] = $espacio->toArray();
                     }
                 }
                 break;
             case 'organizacion':
                 if ($this->getUser()->getAttribute('fk_establecimiento_id')) {
                     $c = new Criteria();
                     $c->add(EstablecimientoPeer::ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
                     $c->addJoin(EstablecimientoPeer::FK_ORGANIZACION_ID, OrganizacionPeer::ID);
                     $organizacion = OrganizacionPeer::doSelectOne($c);
                     $aDato['organizacion'] = $organizacion->toArray();
                 }
                 break;
             case 'usuario':
                 if ($this->getUser()->getAttribute('id')) {
                     $usuario = UsuarioPeer::retrieveByPk($this->getUser()->getAttribute('id'));
                     $aUsuario = $usuario->toArray();
                     //por seguridad: para no mostrar otros datos del usuario como clave, preguntas, etc
                     $aDato['usuario'] = array('Usuario' => $aUsuario['Usuario'], 'Email' => $aUsuario['Email']);
                 }
                 break;
             case 'docente':
                 if (array_key_exists('loop', $result) and $result['loop'] == 1) {
                     $c = new Criteria();
                     $docentes = DocentePeer::doSelect($c);
                     foreach ($docentes as $docente) {
                         $aDato['docente'][] = $docente->toArray();
                     }
                 } else {
                     if ($this->getRequestParameter('docente_id')) {
                         $docente = DocentePeer::retrieveByPK($this->getRequestParameter('docente_id'));
                         $aDato['docente'] = $docente->toArray();
                     }
                 }
                 break;
             case 'boletin':
                 break;
             default:
         }
     }
     return $aDato;
 }
Esempio n. 5
0
 /**
  * Elimina un rol del usuario
  *
  * @param integer $user_id identificador del usuari
  * @param integer $rol_id identificador del rol
  *
  */
 public function executeDeleteRol(sfWebRequest $request)
 {
     $this->usuario = UsuarioPeer::retrieveByPk($request->getParameter('usuario_id'));
     $this->forward404Unless($this->usuario);
     $this->rol = RolPeer::retrieveByPk($request->getParameter('rol_id'));
     $this->forward404Unless($this->rol);
     $ur = new UsuarioRol();
     $ur->setRol($this->rol);
     $ur->setUsuario($this->usuario);
     $ur->delete();
     //si el Rol que se estan eliminando son del
     //usuario actual refresco las credenciales para evitar el logout/login
     $this->logMessage("Comprobar si el usuario es el actual: " . $this->getUser()->getAttribute('id'), 'debug');
     if ($this->getUser()->getAttribute('id') == $this->usuario->getId()) {
         $this->logMessage("Modificando permisos del usuario actual", 'debug');
         $this->getUser()->cargarCredenciales($this->usuario->getId());
     }
     return $this->redirect('usuario/editPermiso?id=' . $this->usuario->getId());
 }
 protected function getUsuarioOrCreate($idusuario = 'id_usuario')
 {
     if (!$this->getRequestParameter($idusuario)) {
         $usuario = new Usuario();
     } else {
         $usuario = UsuarioPeer::retrieveByPk($this->getRequestParameter($idusuario));
         $this->forward404Unless($usuario);
     }
     return $usuario;
 }
Esempio n. 7
0
 public function validateDni($dni)
 {
     $con = Propel::getConnection();
     $query = "SELECT %s as id_usuario, %s as clave FROM %s WHERE %s = '" . $dni . "' AND (%s IS null OR %s  != '0000-00-00 00:00:00')";
     $query = sprintf($query, UsuarioPeer::ID_USUARIO, UsuarioPeer::CLAVE, UsuarioPeer::TABLE_NAME, UsuarioPeer::DNI, UsuarioPeer::FECHA_BORRADO, UsuarioPeer::FECHA_BORRADO);
     $stmt = $con->prepare($query);
     $stmt->execute();
     if ($row = $stmt->fetch()) {
         $usuario = UsuarioPeer::retrieveByPk($row['id_usuario']);
         $usuario->cargarOtrosDatos();
         $usuario->registrarVisita();
         return $usuario;
     }
     return null;
 }
 private function gorde($request)
 {
     $id_fichero = $request->getParameter('id_fichero');
     $c = new Criteria();
     $c->addJoin(ItemPeer::ID_ITEM_BASE, ItemBasePeer::ID_ITEM_BASE, Criteria::JOIN);
     $c->addAnd(ItemPeer::ID_FORMULARIO, $id_fichero, Criteria::EQUAL);
     $c->addAnd(ItemBasePeer::ES_RESPONSABLE_FICHERO, true, Criteria::EQUAL);
     $item_encargado = ItemPeer::doSelectOne($c);
     if ($item_encargado != null) {
         $this->encargado = UsuarioPeer::retrieveByPk($item_encargado->getIdObjeto());
     } else {
         $this->encargado = Usuario::getUsuarioActual()->getUsuario();
     }
 }