public static function existe($alumno_id, $division_id) { $c = new Criteria(); $c->add(RelAlumnodivisionPeer::FK_ALUMNO_ID, $alumno_id); $c->add(RelAlumnodivisionPeer::FK_DIVISION_ID, $division_id); return RelAlumnoDivisionPeer::doSelectOne($c); }
public function executeMostrar() { // Inicializar variables $optionsConcepto = array(); $optionsPeriodo = array(); $optionsActividad = array(); $alumno = ""; $division = ""; $alumno_id = ""; $division_id = ""; $notaAlumno = array(); $conceptoAlumno = array(); $aAsistencia = array(); $alumno_id = $this->alumno_id; $division_id = $this->division_id; $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id'); $no_cargar = 0; if ($alumno_id) { $alumno = AlumnoPeer::retrieveByPK($alumno_id); if (!$division_id) { $c = new Criteria(); $c->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $alumno_id); $ad = RelAlumnoDivisionPeer::doSelectOne($c); if ($ad) { $division_id = $ad->getFkDivisionId(); } else { $no_cargar = 1; } } if ($no_cargar == 0) { $division = DivisionPeer::retrieveByPK($division_id); $optionsActividad = $division->getActividadesArray(); $e = EstablecimientoPeer::retrieveByPk($establecimiento_id); $optionsConcepto = $e->getConceptosArray(); $notaAlumno = $alumno->getNotas($this->getUser()->getAttribute('fk_ciclolectivo_id')); $conceptoAlumno = $alumno->getNotasConcepto(); $c = CiclolectivoPeer::retrieveByPk($this->getUser()->getAttribute('fk_ciclolectivo_id')); $optionsPeriodo = $c->getPeriodosArray(); $aAsistencia = $alumno->getAsistenciasPorCiclolectivo($this->getUser()->getAttribute('fk_ciclolectivo_id')); } else { $this->getUser()->setFlash('notice', 'Error: el alumno no esta en ninguna división'); } } else { $this->getUser()->setFlash('notice', 'Error: no envio el alumno'); } // variables al template $this->establecimiento = EstablecimientoPeer::retrieveByPk($establecimiento_id); $this->optionsPeriodo = $optionsPeriodo; $this->optionsActividad = $optionsActividad; $this->cantOptionsActividad = count($optionsActividad); $this->alumno = $alumno; $this->division = $division; $this->optionsConcepto = $optionsConcepto; $this->cantOptionsConcepto = count($optionsConcepto); $this->notaAlumno = $notaAlumno; $this->conceptoAlumno = $conceptoAlumno; $this->aAsistencia = $aAsistencia; $this->cantOptionsAsistencia = count($aAsistencia) > 0 ? count(current($aAsistencia)) : 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; }
public function executePasajeAlumnos($request) { $this->_pasajeAlumnosData(); if ($this->getRequest()->getMethod() == sfRequest::POST) { $pasaje = $this->getRequestParameter('pasaje'); $con = Propel::getConnection(); try { $con->beginTransaction(); $dupes = 0; foreach ($pasaje['fk_alumno_id'] as $aid) { //comprobacion por duplicados por error del schema $found = RelAlumnoDivisionPeer::existe($aid, $pasaje['fk_division_destino_id']); if ($found) { $dupes++; } else { $a = new RelAlumnoDivision(); $a->setFkDivisionId($pasaje['fk_division_destino_id']); $a->setFkAlumnoId($aid); $a->save(); } } $con->commit(); $msg = 'El pasaje de alumnos se ha realizado correctamente.'; if ($dupes > 0) { $msg .= ' De los cuales ' . $dupes . " no han pasado porque ya se encontraban en la división destino."; } $this->getUser()->setFlash('notice', $msg); } catch (Exception $e) { $this->getUser()->setFlash('error', 'Error al pasar alumnos'); $con->rollBack(); } } }
public function getRelAlumnoDivisionsJoinDivision($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN) { if ($criteria === null) { $criteria = new Criteria(AlumnoPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collRelAlumnoDivisions === null) { if ($this->isNew()) { $this->collRelAlumnoDivisions = array(); } else { $criteria->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $this->id); $this->collRelAlumnoDivisions = RelAlumnoDivisionPeer::doSelectJoinDivision($criteria, $con, $join_behavior); } } else { $criteria->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $this->id); if (!isset($this->lastRelAlumnoDivisionCriteria) || !$this->lastRelAlumnoDivisionCriteria->equals($criteria)) { $this->collRelAlumnoDivisions = RelAlumnoDivisionPeer::doSelectJoinDivision($criteria, $con, $join_behavior); } } $this->lastRelAlumnoDivisionCriteria = $criteria; return $this->collRelAlumnoDivisions; }
function save($aAlumno, $aDivision) { // $aAlumno = $this->getRequest()->getParameterHolder()->get('alumno'); // $aDivision = $this->getRequest()->getParameterHolder()->get('division'); if (count($aAlumno) > 0) { if (count($aDivision) > 0) { foreach ($aAlumno as $alumno_id) { foreach ($aDivision as $division_id) { //Borro si existe la relacion esta entre esta division y este alumno (Editar) $c = new Criteria(); $c->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $alumno_id); $c->add(RelAlumnoDivisionPeer::FK_DIVISION_ID, $division_id); RelAlumnoDivisionPeer::doDelete($c); // Doy de alta la nueva relacion entre alumno y division $ad = new RelAlumnoDivision(); $ad->setFkAlumnoId($alumno_id); $ad->setFkDivisionId($division_id); $ad->save(); unset($ad); } } } } // return $this->redirect('relAlumnoDivision/edit?id='.$usuarioId); }
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = RelAlumnoDivisionPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setFkDivisionId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setFkAlumnoId($arr[$keys[2]]); } }
public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(RelAlumnoDivisionPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(RelAlumnoDivisionPeer::DATABASE_NAME); $criteria->add(RelAlumnoDivisionPeer::ID, $pks, Criteria::IN); $objs = RelAlumnoDivisionPeer::doSelect($criteria, $con); } return $objs; }