Example #1
0
 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;
 }
Example #2
0
 public function executeEdit()
 {
     $this->alumno_id = $this->getRequestParameter('aid');
     $this->legajosalud = $this->getLegajosaludOrCreate();
     $this->alumno = AlumnoPeer::retrieveByPk($this->alumno_id);
     // add javascripts
     $this->getResponse()->addJavascript(sfConfig::get('sf_prototype_web_dir') . '/js/prototype');
     $this->getResponse()->addJavascript(sfConfig::get('sf_admin_web_dir') . '/js/collapse');
 }
Example #3
0
 /**
  * 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);
 }
Example #4
0
 /**
  * Ir a la cuenta del alumno
  */
 function executeIrCuenta()
 {
     if ($this->getRequestParameter('id')) {
         $c = new Criteria();
         $c->add(RelCalendariovacunacionAlumnoPeer::ID, $this->getRequestParameter('id'));
         $c->addJoin(AlumnoPeer::ID, RelCalendariovacunacionAlumnoPeer::FK_ALUMNO_ID);
         $Alum = AlumnoPeer::doSelectOne($c);
         if ($Alum->getFkCuentaId()) {
             $this->redirect('cuenta/verCompleta?id=' . $Alum->getFkCuentaId());
         } else {
             $this->redirect('alumno/list');
         }
     }
 }
Example #5
0
 public function executeIndex(sfWebRequest $request)
 {
     $alumno_id = $request->getParameter('alumno_id');
     $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
     $c = new Criteria();
     $c->add(AlumnoPeer::ID, $alumno_id);
     $c->add(AlumnoPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
     $this->alumno = AlumnoPeer::doSelectOne($c);
     $this->forward404Unless(intval($alumno_id) > 0 && $this->alumno);
     $saludes = $this->alumno->getAlumnoSaluds();
     // Si no está el objeto creado, lo creo vacío y lo guardo. Seh...medio loco pero quería cambiar un poco la interfaz.
     if (empty($saludes)) {
         $this->alumno_salud = new AlumnoSalud();
         $this->alumno_salud->setAlumno($this->alumno)->save();
         $saludes = $this->alumno->getAlumnoSaluds();
     }
     $this->datos_salud = $saludes[0]->toArray();
     $this->alumno_salud = $saludes[0];
 }
Example #6
0
 public function executeListarAlumnos()
 {
     $id = $this->getRequestParameter('division_id');
     if (!$id) {
         return $this->renderText("");
     }
     $c = new Criteria();
     $c->add(RelAlumnoDivisionPeer::FK_DIVISION_ID, $id);
     if ($this->getRequestParameter('division_no_id')) {
         $not_in_query = " %s NOT IN (";
         $not_in_query .= " SELECT %s FROM %s WHERE %s = %s AND %s = %s)";
         $not_in_query = sprintf($not_in_query, RelAlumnoDivisionPeer::FK_ALUMNO_ID, RelAlumnoDivisionPeer::FK_ALUMNO_ID, RelAlumnoDivisionPeer::TABLE_NAME, RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID, RelAlumnoDivisionPeer::FK_DIVISION_ID, $this->getRequestParameter("division_no_id"));
         $c->add(AlumnoPeer::ID, $not_in_query, Criteria::CUSTOM);
     }
     $c->addJoin(AlumnoPeer::ID, RelAlumnoDivisionPeer::FK_ALUMNO_ID, Criteria::INNER_JOIN);
     $c->addJoin(AlumnoPeer::FK_TIPODOCUMENTO_ID, TipodocumentoPeer::ID, Criteria::INNER_JOIN);
     $c->addAscendingOrderByColumn(AlumnoPeer::APELLIDO);
     $c->addAscendingOrderByColumn(AlumnoPeer::NOMBRE);
     $this->alumnos = AlumnoPeer::doSelect($c);
     $this->alumnos_actuales = array();
     if ($this->getRequestParameter('division_no_id')) {
         $c = new Criteria();
         $c->add(RelAlumnoDivisionPeer::FK_DIVISION_ID, $this->getRequestParameter('division_no_id'));
         $c->addJoin(AlumnoPeer::ID, RelAlumnoDivisionPeer::FK_ALUMNO_ID, Criteria::INNER_JOIN);
         $c->addJoin(AlumnoPeer::FK_TIPODOCUMENTO_ID, TipodocumentoPeer::ID, Criteria::INNER_JOIN);
         $c->addAscendingOrderByColumn(AlumnoPeer::APELLIDO);
         $c->addAscendingOrderByColumn(AlumnoPeer::NOMBRE);
     }
     $this->alumnos_actuales = AlumnoPeer::doSelect($c);
 }
Example #7
0
<h1>Vacuna por alumno
<?php 
if (isset($filters['fk_alumno_id']) && $filters['fk_alumno_id'] != '' && $filters['fk_alumno_id'] != 0) {
    $alumno = AlumnoPeer::retrieveByPk($filters['fk_alumno_id']);
    echo $alumno->getApellido() . ", " . $alumno->getNombre();
}
?>
</h1>

Example #8
0
 public function getAlumno(PropelPDO $con = null)
 {
     if ($this->aAlumno === null && $this->fk_alumno_id !== null) {
         $c = new Criteria(AlumnoPeer::DATABASE_NAME);
         $c->add(AlumnoPeer::ID, $this->fk_alumno_id);
         $this->aAlumno = AlumnoPeer::doSelectOne($c, $con);
     }
     return $this->aAlumno;
 }
Example #9
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = AlumnoPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setLegajoPrefijo($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setLegajoNumero($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setNombre($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setApellidoMaterno($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setApellido($arr[$keys[5]]);
     }
     if (array_key_exists($keys[6], $arr)) {
         $this->setFechaNacimiento($arr[$keys[6]]);
     }
     if (array_key_exists($keys[7], $arr)) {
         $this->setDireccion($arr[$keys[7]]);
     }
     if (array_key_exists($keys[8], $arr)) {
         $this->setCiudad($arr[$keys[8]]);
     }
     if (array_key_exists($keys[9], $arr)) {
         $this->setCodigoPostal($arr[$keys[9]]);
     }
     if (array_key_exists($keys[10], $arr)) {
         $this->setFkProvinciaId($arr[$keys[10]]);
     }
     if (array_key_exists($keys[11], $arr)) {
         $this->setTelefono($arr[$keys[11]]);
     }
     if (array_key_exists($keys[12], $arr)) {
         $this->setLugarNacimiento($arr[$keys[12]]);
     }
     if (array_key_exists($keys[13], $arr)) {
         $this->setFkTipodocumentoId($arr[$keys[13]]);
     }
     if (array_key_exists($keys[14], $arr)) {
         $this->setNroDocumento($arr[$keys[14]]);
     }
     if (array_key_exists($keys[15], $arr)) {
         $this->setSexo($arr[$keys[15]]);
     }
     if (array_key_exists($keys[16], $arr)) {
         $this->setEmail($arr[$keys[16]]);
     }
     if (array_key_exists($keys[17], $arr)) {
         $this->setDistanciaEscuela($arr[$keys[17]]);
     }
     if (array_key_exists($keys[18], $arr)) {
         $this->setHermanosEscuela($arr[$keys[18]]);
     }
     if (array_key_exists($keys[19], $arr)) {
         $this->setHijoMaestroEscuela($arr[$keys[19]]);
     }
     if (array_key_exists($keys[20], $arr)) {
         $this->setFkEstablecimientoId($arr[$keys[20]]);
     }
     if (array_key_exists($keys[21], $arr)) {
         $this->setFkCuentaId($arr[$keys[21]]);
     }
     if (array_key_exists($keys[22], $arr)) {
         $this->setCertificadoMedico($arr[$keys[22]]);
     }
     if (array_key_exists($keys[23], $arr)) {
         $this->setActivo($arr[$keys[23]]);
     }
     if (array_key_exists($keys[24], $arr)) {
         $this->setFkConceptobajaId($arr[$keys[24]]);
     }
     if (array_key_exists($keys[25], $arr)) {
         $this->setFkPaisId($arr[$keys[25]]);
     }
     if (array_key_exists($keys[26], $arr)) {
         $this->setProcedencia($arr[$keys[26]]);
     }
     if (array_key_exists($keys[27], $arr)) {
         $this->setFkEstadoalumnoId($arr[$keys[27]]);
     }
     if (array_key_exists($keys[28], $arr)) {
         $this->setObservacion($arr[$keys[28]]);
     }
     if (array_key_exists($keys[29], $arr)) {
         $this->setEmailPadre($arr[$keys[29]]);
     }
     if (array_key_exists($keys[30], $arr)) {
         $this->setCelularPadre($arr[$keys[30]]);
     }
     if (array_key_exists($keys[31], $arr)) {
         $this->setCelularMadre($arr[$keys[31]]);
     }
 }
Example #10
0
 public static function doSelectJoinAllExceptPeriodo(Criteria $c, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     ExamenPeer::addSelectColumns($c);
     $startcol2 = ExamenPeer::NUM_COLUMNS - ExamenPeer::NUM_LAZY_LOAD_COLUMNS;
     EscalanotaPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + (EscalanotaPeer::NUM_COLUMNS - EscalanotaPeer::NUM_LAZY_LOAD_COLUMNS);
     AlumnoPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + (AlumnoPeer::NUM_COLUMNS - AlumnoPeer::NUM_LAZY_LOAD_COLUMNS);
     ActividadPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + (ActividadPeer::NUM_COLUMNS - ActividadPeer::NUM_LAZY_LOAD_COLUMNS);
     $c->addJoin(array(ExamenPeer::FK_ESCALANOTA_ID), array(EscalanotaPeer::ID), $join_behavior);
     $c->addJoin(array(ExamenPeer::FK_ALUMNO_ID), array(AlumnoPeer::ID), $join_behavior);
     $c->addJoin(array(ExamenPeer::FK_ACTIVIDAD_ID), array(ActividadPeer::ID), $join_behavior);
     $stmt = BasePeer::doSelect($c, $con);
     $results = array();
     while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
         $key1 = ExamenPeer::getPrimaryKeyHashFromRow($row, 0);
         if (null !== ($obj1 = ExamenPeer::getInstanceFromPool($key1))) {
         } else {
             $omClass = ExamenPeer::getOMClass();
             $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
             $obj1 = new $cls();
             $obj1->hydrate($row);
             ExamenPeer::addInstanceToPool($obj1, $key1);
         }
         $key2 = EscalanotaPeer::getPrimaryKeyHashFromRow($row, $startcol2);
         if ($key2 !== null) {
             $obj2 = EscalanotaPeer::getInstanceFromPool($key2);
             if (!$obj2) {
                 $omClass = EscalanotaPeer::getOMClass();
                 $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
                 $obj2 = new $cls();
                 $obj2->hydrate($row, $startcol2);
                 EscalanotaPeer::addInstanceToPool($obj2, $key2);
             }
             $obj2->addExamen($obj1);
         }
         $key3 = AlumnoPeer::getPrimaryKeyHashFromRow($row, $startcol3);
         if ($key3 !== null) {
             $obj3 = AlumnoPeer::getInstanceFromPool($key3);
             if (!$obj3) {
                 $omClass = AlumnoPeer::getOMClass();
                 $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
                 $obj3 = new $cls();
                 $obj3->hydrate($row, $startcol3);
                 AlumnoPeer::addInstanceToPool($obj3, $key3);
             }
             $obj3->addExamen($obj1);
         }
         $key4 = ActividadPeer::getPrimaryKeyHashFromRow($row, $startcol4);
         if ($key4 !== null) {
             $obj4 = ActividadPeer::getInstanceFromPool($key4);
             if (!$obj4) {
                 $omClass = ActividadPeer::getOMClass();
                 $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
                 $obj4 = new $cls();
                 $obj4->hydrate($row, $startcol4);
                 ActividadPeer::addInstanceToPool($obj4, $key4);
             }
             $obj4->addExamen($obj1);
         }
         $results[] = $obj1;
     }
     $stmt->closeCursor();
     return $results;
 }
Example #11
0
<?php

$c = new Criteria();
$c->add(AlumnoPeer::FK_ESTABLECIMIENTO_ID, $sf_user->getAttribute('fk_establecimiento_id'));
$c->addAscendingOrderByColumn(AlumnoPeer::APELLIDO);
$c->addAscendingOrderByColumn(AlumnoPeer::NOMBRE);
$alumnos = AlumnoPeer::doSelect($c);
$optionsAlumnos = array();
$optionsAlumnos[""] = "";
foreach ($alumnos as $alumno) {
    $optionsAlumnos[$alumno->getId()] = $alumno->getApellido() . ", " . $alumno->getNombre();
}
echo select_tag('filters[fk_alumno_id]', options_for_select($optionsAlumnos, isset($filters['fk_alunmo_id']) ? $filters['fk_alumno_id'] : ''));
Example #12
0
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(AlumnoPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(AlumnoPeer::DATABASE_NAME);
         $criteria->add(AlumnoPeer::ID, $pks, Criteria::IN);
         $objs = AlumnoPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
Example #13
0
 public function executeAddfoto(sfWebRequest $request)
 {
     $this->alumno = AlumnoPeer::retrieveByPk($request->getParameter('id'));
     $this->forward404Unless($this->alumno);
     if ($this->alumno->getLegajoPrefijo() != '' && $this->alumno->getLegajoNumero() != '') {
         try {
             $this->getRequest()->moveFile('archivo', sfConfig::get('sf_upload_dir') . DIRECTORY_SEPARATOR . 'alumnos' . DIRECTORY_SEPARATOR . $this->alumno->getLegajo() . '.png');
             $this->result = 1;
         } catch (Exception $e) {
             $this->result_msg = $e->getMessage();
             $this->result = 0;
         }
     } else {
         // legajo invalido
         $this->result_msg = 'El alumno posee un legajo inv&aacute;lido!';
         $this->result = 0;
     }
 }
Example #14
0
 /**
  *  Obtiene los necesarios para ver la asistencias de alumnos
  *
  **/
 protected function obtenerDatos()
 {
     Misc::use_helper('Misc');
     //Iniciando Variables
     $alumno_id = -1;
     $cuenta_id = -1;
     $vista_id = 1;
     // default para vista DIARIO
     $division_id = 0;
     $carrera_id = 0;
     $datos = array();
     $idxAlumno = array();
     $aFeriado = array();
     $aIntervalo = array();
     $optionsDivision = array();
     $optionsCarrera = array();
     $aTemp = array();
     $aFechaTemp = array();
     $aTipoasistencias = array();
     $aPorcentajeAsistencia = array();
     $flag_error = 0;
     $nombre_completo_archivo = "";
     $bool_gd = array_search("gd", get_loaded_extensions());
     // Tomando los datos del formulario y completando variable
     $ciclolectivo_id = $this->getUser()->getAttribute('fk_ciclolectivo_id');
     $ciclolectivo = CiclolectivoPeer::retrieveByPK($ciclolectivo_id);
     $ciclolectivo_fecha_inicio = strtotime($ciclolectivo->getFechaInicio());
     $ciclolectivo_fecha_fin = strtotime($ciclolectivo->getFechaFin());
     // Asigno la fecha de inicio del ciclo lectivo por defecto
     $aFechaActual = getdate($ciclolectivo_fecha_inicio);
     // Tomo el año de la fecha de inicio y de fin del ciclo lectivo
     $anio_desde = date("Y", $ciclolectivo_fecha_inicio);
     $anio_hasta = date("Y", $ciclolectivo_fecha_fin);
     if ($this->getRequestParameter('dia')) {
         $d = $this->getRequestParameter('dia');
     } else {
         $d = $aFechaActual['mday'];
     }
     if ($this->getRequestParameter('mes')) {
         $m = $this->getRequestParameter('mes');
     } else {
         $m = $aFechaActual['mon'];
     }
     if ($this->getRequestParameter('ano')) {
         $y = $this->getRequestParameter('ano');
     } else {
         $y = $aFechaActual['year'];
     }
     if ($this->getRequestParameter('alumno_id')) {
         $alumno_id = $this->getRequestParameter('alumno_id');
         $a = AlumnoPeer::retrieveByPK($alumno_id);
         $cuenta_id = $a->getFkCuentaId();
     }
     if ($this->getRequestParameter('carrera_id')) {
         $carrera_id = $this->getRequestParameter('carrera_id');
     }
     if ($this->getRequestParameter('vistas')) {
         $vista_id = $this->getRequestParameter('vistas');
     }
     $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
     $criteria = new Criteria();
     $criteria->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
     if ($this->getRequestParameter('alumno_id')) {
         $criteria->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $alumno_id);
         $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
     }
     if ($this->getRequestParameter('carrera_id')) {
         $criteria->add(AnioPeer::FK_CARRERA_ID, $carrera_id);
     }
     $criteria->addAscendingOrderByColumn(AnioPeer::DESCRIPCION);
     $criteria->addAscendingOrderByColumn(DivisionPeer::ORDEN);
     $criteria->addAscendingOrderByColumn(DivisionPeer::DESCRIPCION);
     $divisiones = DivisionPeer::doSelectJoinAnio($criteria);
     // divisiones a mostrar
     foreach ($divisiones as $division) {
         $optionsDivision[$division->getId()] = $division->__toString();
     }
     if ($this->getRequestParameter('division_id')) {
         $division_id = $this->getRequestParameter('division_id');
     } else {
         if (count($optionsDivision) > 0) {
             $aTemp = array_keys($optionsDivision);
             $division_id = $aTemp[0];
         } else {
             // Ver si se puede hacer desde el validate
             $this->getRequest()->setError('Division', 'No hay Ninguna División cargada');
             $flag_error = 1;
         }
     }
     $cCarrera = new Criteria();
     $cCarrera->add(CarreraPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
     $carreras = CarreraPeer::doSelect($cCarrera);
     foreach ($carreras as $carrera) {
         $optionsCarrera[$carrera->getId()] = $carrera->getDescripcion();
     }
     if (!checkdate($m, $d, $y)) {
         // Ver si se puede hacer desde el validate
         $this->getRequest()->setError('Fecha', 'La fecha ingresada es erronea');
         $flag_error = 1;
     }
     if ($flag_error == 0) {
         // devuelve un intervalo de dias según vista y fecha seleccionada
         $aIntervalo = diasxintervalo($d, $m, $y, $vista_id);
         // chequeo si el intervalo de fechas generados esta o no dentro de las fechas validas del ciclo lectivo
         foreach ($aIntervalo as $fecha) {
             $fecha_intervalo = strtotime($fecha);
             if ($fecha_intervalo >= $ciclolectivo_fecha_inicio and $fecha_intervalo <= $ciclolectivo_fecha_fin) {
                 $aFechaTemp[] = $fecha;
             }
         }
         $aIntervalo = $aFechaTemp;
     }
     // obteniendo los feriados actuales
     $criteria = new Criteria();
     $feriados = FeriadoPeer::doSelect($criteria);
     foreach ($feriados as $feriado) {
         $aFeriado[$feriado->getFecha()] = $feriado->getNombre();
     }
     // esto deberia estar hecho muy diferente guardar en un /tmp con archivo aleatorio
     if (file_exists(sfConfig::get('sf_upload_dir_name') . '/grafico_asistencias.png')) {
         unlink(sfConfig::get('sf_upload_dir_name') . '/grafico_asistencias.png');
     }
     if (count($aIntervalo) > 0) {
         //Obtener los alumnos de la division y asistencias en el rango de fecha
         //$con = sfContext::getInstance()->getDatabaseConnection($connection='propel');
         $con = Propel::getConnection();
         $s = "SELECT alumno.id, alumno.nombre, alumno.apellido, alumno.apellido_materno,";
         $s .= "tipoasistencia.descripcion, tipoasistencia.nombre AS asistencia, asistencia.fecha,";
         $s .= "asistencia.fk_tipoasistencia_id ";
         $s .= "FROM alumno, rel_alumno_division ";
         $s .= "LEFT JOIN asistencia ON ( rel_alumno_division.FK_ALUMNO_ID = asistencia.FK_ALUMNO_ID ";
         $s .= "AND asistencia.FECHA ";
         $s .= "IN (";
         for ($i = 0, $max = count($aIntervalo); $i < $max; $i++) {
             $s .= "'" . $aIntervalo[$i] . " 00:00:00'";
             if ($i < count($aIntervalo) - 1) {
                 $s .= ",";
             }
         }
         $s .= ") ) ";
         $s .= "LEFT JOIN tipoasistencia ON ( asistencia.FK_TIPOASISTENCIA_ID = tipoasistencia.ID ) ";
         $s .= "WHERE ";
         if ($alumno_id >= 0) {
             $s .= "alumno.ID =" . $alumno_id;
         } else {
             $s .= "rel_alumno_division.FK_DIVISION_ID =" . $division_id;
         }
         $s .= " AND rel_alumno_division.FK_ALUMNO_ID = alumno.ID";
         $s .= " ORDER BY alumno.apellido,alumno.apellido_materno,alumno.nombre,asistencia.FECHA";
         $stmt = $con->prepare($s);
         $alumnos = $stmt->execute();
         $totales = array();
         $tot = 0;
         while ($alumno = $stmt->fetch(PDO::FETCH_ASSOC)) {
             $idxAlumno[$alumno['id']] = $alumno['apellido'] . " " . $alumno['apellido_materno'] . " " . $alumno['nombre'];
             if ($alumno['fecha']) {
                 $datos[$alumno['id']][$alumno['fecha']] = $alumno['asistencia'];
                 @$totales[$alumno['asistencia']]++;
             }
         }
         $aTipoasistencias = $this->getTiposasistencias();
         $aPorcentajeAsistencia = array();
         $flag = 0;
         // cantidad de fechas sin fines de semana
         $cantFechas = 0;
         foreach ($aIntervalo as $fecha) {
             if (!(date("w", strtotime($fecha)) == 6) and !(date("w", strtotime($fecha)) == 0)) {
                 $cantFechas++;
             }
         }
         $dias = $cantFechas * count($idxAlumno);
         foreach ($aTipoasistencias as $idx => $Tipoasistencia) {
             $aPorcentajeAsistencia[$idx] = isset($totales[$idx]) ? number_format($totales[$idx] * 100 / $dias, 2) : number_format(0, 2);
             $tot += isset($totales[$idx]) ? number_format($totales[$idx], 2) : number_format(0, 2);
             if ($aPorcentajeAsistencia[$idx] != 0) {
                 $flag = 1;
             }
         }
         if ($flag == 1) {
             $aTitulo = array_keys($aTipoasistencias);
             $aTitulo[] = "No Cargado";
             if ($bool_gd) {
                 // Si no tiene cargado la GD no muestra el grafico
                 // Genera nombre de archivo único
                 $nombre_archivo = uniqid();
                 $nombre_completo_archivo = $nombre_archivo . '.jpg';
                 // nueva clase para grafico de tortas
                 $graph = new ezcGraphPieChart();
                 // uso driver GD pero podria ser SVG o Ming
                 $graph->driver = new ezcGraphGdDriver();
                 $graph->driver->options->supersampling = 1;
                 $graph->driver->options->jpegQuality = 100;
                 $graph->driver->options->imageFormat = IMG_JPEG;
                 // Color de fondo del grafico
                 $graph->background->color = '#FFFFFF';
                 // De donde sacar la letra
                 $graph->options->font = realpath(sfConfig::get('sf_lib_dir') . "/font/FreeSerifBold.ttf");
                 $graph->options->font->maxFontSize = 9;
                 //     $graph->title = "Asistencia";
                 // Cargo datos de la asistencia
                 $graph->data['Asistencia'] = new ezcGraphArrayDataSet($aPorcentajeAsistencia);
                 // tamaño del symbolo de la lista
                 $graph->legend->symbolSize = 10;
                 // se selecciona las opciones graficas
                 $graph->renderer = new ezcGraphRenderer3d();
                 $graph->renderer->options->moveOut = 0.01;
                 $graph->renderer->options->pieChartShadowSize = 10;
                 // $graph->renderer->options->pieChartGleam = .5;
                 $graph->renderer->options->dataBorder = false;
                 $graph->renderer->options->pieChartHeight = 16;
                 $graph->renderer->options->legendSymbolGleam = 0.5;
                 //graba archivo de imagen
                 $graph->render(400, 250, sfConfig::get('app_alba_tmpdir') . DIRECTORY_SEPARATOR . $nombre_completo_archivo);
             }
         }
     }
     //Asignacion de variables para el template
     $this->bool_tmp = is_writable(sfConfig::get('app_alba_tmpdir'));
     $this->bool_gd = $bool_gd;
     $this->nombre_completo_archivo = $nombre_completo_archivo;
     $this->d = $d;
     $this->m = $m;
     $this->y = $y;
     $this->aTipoasistencias = $aTipoasistencias;
     $this->aAlumnos = $idxAlumno;
     $this->aDatos = $datos;
     $this->optionsDivision = $optionsDivision;
     $this->optionsCarrera = $optionsCarrera;
     $this->aVistas = repeticiones();
     $this->aMeses = Meses();
     $this->aIntervalo = $aIntervalo;
     $this->aPorcentajeAsistencia = $aPorcentajeAsistencia;
     $this->aFeriado = $aFeriado;
     $this->alumno_id = $alumno_id;
     $this->cuenta_id = $cuenta_id;
     $this->vista_id = $vista_id;
     $this->division_id = $division_id;
     $this->carrera_id = $carrera_id;
     $this->anio_desde = $anio_desde;
     $this->anio_hasta = $anio_hasta;
 }
Example #15
0
 function executeBusqueda()
 {
     $aAlumnoId = array();
     $criteria = new Criteria();
     if ($this->getRequestParameter('filtro_nombre_alumnos')) {
         $txt_nombre = $this->getRequestParameter('filtro_nombre_alumnos');
         $cton1 = $criteria->getNewCriterion(AlumnoPeer::APELLIDO, "{$txt_nombre}%", Criteria::LIKE);
     }
     if ($this->getRequestParameter('filtro_alumnos')) {
         switch ($this->getRequestParameter('filtro_alumnos')) {
             case 0:
                 break;
             case 1:
                 $c = new Criteria();
                 $c->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
                 $c->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
                 $c->addJoin(AnioPeer::ID, DivisionPeer::FK_ANIO_ID);
                 $relAlumnoDivision = RelAlumnoDivisionPeer::doSelect($c);
                 foreach ($relAlumnoDivision as $r) {
                     $aAlumnoId[] = $r->getFkAlumnoId();
                 }
                 $criteria->add(AlumnoPeer::ID, $r->getFkAlumnoId(), Criteria::NOT_IN);
                 $cton2 = $criteria->getNewCriterion(AlumnoPeer::ID, $aAlumnoId, Criteria::NOT_IN);
                 if ($this->getRequestParameter('filtro_nombre_alumnos')) {
                     $cton1->addAnd($cton2);
                 } else {
                     $criteria->add($cton2);
                 }
                 break;
             default:
         }
     }
     if ($this->getRequestParameter('filtro_nombre_alumnos')) {
         $criteria->add($cton1);
     }
     $alumnos = AlumnoPeer::doSelect($criteria);
     $this->optionsAlumno = $alumnos;
 }
Example #16
0
 public function getAlumnosJoinPais($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     if ($criteria === null) {
         $criteria = new Criteria(EstadosalumnosPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collAlumnos === null) {
         if ($this->isNew()) {
             $this->collAlumnos = array();
         } else {
             $criteria->add(AlumnoPeer::FK_ESTADOALUMNO_ID, $this->id);
             $this->collAlumnos = AlumnoPeer::doSelectJoinPais($criteria, $con, $join_behavior);
         }
     } else {
         $criteria->add(AlumnoPeer::FK_ESTADOALUMNO_ID, $this->id);
         if (!isset($this->lastAlumnoCriteria) || !$this->lastAlumnoCriteria->equals($criteria)) {
             $this->collAlumnos = AlumnoPeer::doSelectJoinPais($criteria, $con, $join_behavior);
         }
     }
     $this->lastAlumnoCriteria = $criteria;
     return $this->collAlumnos;
 }
Example #17
0
 public static function doSelectJoinAll(Criteria $c, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     AlumnoSaludPeer::addSelectColumns($c);
     $startcol2 = AlumnoSaludPeer::NUM_COLUMNS - AlumnoSaludPeer::NUM_LAZY_LOAD_COLUMNS;
     AlumnoPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + (AlumnoPeer::NUM_COLUMNS - AlumnoPeer::NUM_LAZY_LOAD_COLUMNS);
     $c->addJoin(array(AlumnoSaludPeer::FK_ALUMNO_ID), array(AlumnoPeer::ID), $join_behavior);
     $stmt = BasePeer::doSelect($c, $con);
     $results = array();
     while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
         $key1 = AlumnoSaludPeer::getPrimaryKeyHashFromRow($row, 0);
         if (null !== ($obj1 = AlumnoSaludPeer::getInstanceFromPool($key1))) {
         } else {
             $omClass = AlumnoSaludPeer::getOMClass();
             $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
             $obj1 = new $cls();
             $obj1->hydrate($row);
             AlumnoSaludPeer::addInstanceToPool($obj1, $key1);
         }
         $key2 = AlumnoPeer::getPrimaryKeyHashFromRow($row, $startcol2);
         if ($key2 !== null) {
             $obj2 = AlumnoPeer::getInstanceFromPool($key2);
             if (!$obj2) {
                 $omClass = AlumnoPeer::getOMClass();
                 $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
                 $obj2 = new $cls();
                 $obj2->hydrate($row, $startcol2);
                 AlumnoPeer::addInstanceToPool($obj2, $key2);
             }
             $obj2->addAlumnoSalud($obj1);
         }
         $results[] = $obj1;
     }
     $stmt->closeCursor();
     return $results;
 }
Example #18
0
 public function executeAlumnosPorDivisionListado()
 {
     // inicializando variables
     $aAlumno = array();
     // tomando los datos del formulario
     $division_id = $this->getRequestParameter('division_id');
     // buscando division
     $division = DivisionPeer::retrieveByPK($division_id);
     // buscando alumnos
     $criteria = new Criteria();
     $criteria->add(DivisionPeer::ID, $division_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);
     // asignando variables para ser usadas en el template
     $this->aAlumno = $alumnos;
     $this->division = $division;
 }
Example #19
0
 protected function getAlumnos($division_id)
 {
     $aAlumno = array();
     $criteria = new Criteria();
     $criteria->add(DivisionPeer::ID, $division_id);
     $criteria->addJoin(RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID);
     $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
     $criteria->addAscendingOrderbyColumn(AlumnoPeer::APELLIDO);
     $aAlumno = AlumnoPeer::doSelect($criteria);
     return $aAlumno;
 }