コード例 #1
0
ファイル: actions.class.php プロジェクト: mediasadc/alba
 /**
  * Muestra la cuenta, los alumnos y los responsables
  **/
 public function executeVerCompleta()
 {
     $c = new Criteria();
     $c->add(CuentaPeer::ID, $this->getRequestParameter('id'));
     $this->cuenta = CuentaPeer::doSelectOne($c);
     $this->forward404Unless($this->cuenta);
     $c = new Criteria();
     $c->add(AlumnoPeer::FK_CUENTA_ID, $this->getRequestParameter('id'));
     $this->aAlumno = AlumnoPeer::doSelect($c);
     $c = new Criteria();
     $c->add(ResponsablePeer::FK_CUENTA_ID, $this->getRequestParameter('id'));
     $this->aResponsable = ResponsablePeer::doSelect($c);
 }
コード例 #2
0
ファイル: actions.class.php プロジェクト: mediasadc/alba
 /**
  * @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;
 }
コード例 #3
0
 public function getResponsables($criteria = null, PropelPDO $con = null)
 {
     if ($criteria === null) {
         $criteria = new Criteria(NivelInstruccionPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collResponsables === null) {
         if ($this->isNew()) {
             $this->collResponsables = array();
         } else {
             $criteria->add(ResponsablePeer::FK_NIVEL_INSTRUCCION_ID, $this->id);
             ResponsablePeer::addSelectColumns($criteria);
             $this->collResponsables = ResponsablePeer::doSelect($criteria, $con);
         }
     } else {
         if (!$this->isNew()) {
             $criteria->add(ResponsablePeer::FK_NIVEL_INSTRUCCION_ID, $this->id);
             ResponsablePeer::addSelectColumns($criteria);
             if (!isset($this->lastResponsableCriteria) || !$this->lastResponsableCriteria->equals($criteria)) {
                 $this->collResponsables = ResponsablePeer::doSelect($criteria, $con);
             }
         }
     }
     $this->lastResponsableCriteria = $criteria;
     return $this->collResponsables;
 }
コード例 #4
0
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(ResponsablePeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(ResponsablePeer::DATABASE_NAME);
         $criteria->add(ResponsablePeer::ID, $pks, Criteria::IN);
         $objs = ResponsablePeer::doSelect($criteria, $con);
     }
     return $objs;
 }