Example #1
0
 public function executeEdit($request)
 {
     $this->feriado = $this->getFeriadoOrCreate();
     $criteria = new Criteria();
     $criteria->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
     $cicloslectivos = CiclolectivoPeer::doSelect($criteria);
     $this->debugMessage(count($cicloslectivos));
     $optionsCiclolectivo = array();
     foreach ($cicloslectivos as $ciclolectivo) {
         $optionsCiclolectivo[$ciclolectivo->getId()] = $ciclolectivo->getDescripcion();
     }
     asort($optionsCiclolectivo);
     $this->optionsCiclolectivo = $optionsCiclolectivo;
     if ($this->getRequest()->getMethod() == sfRequest::POST) {
         $this->feriado = $this->getFeriadoOrCreate();
         $this->updateFeriadoFromRequest();
         $this->saveFeriado($this->feriado);
         $this->getUser()->setFlash('notice', 'Your modifications have been saved');
         if ($this->getRequestParameter('save_and_add')) {
             return $this->redirect('feriado/create');
         } else {
             return $this->redirect('feriado/edit?id=' . $this->feriado->getId());
         }
     } else {
         // add javascripts
         $this->getResponse()->addJavascript(sfConfig::get('sf_prototype_web_dir') . '/js/prototype');
         $this->getResponse()->addJavascript(sfConfig::get('sf_admin_web_dir') . '/js/collapse');
         $this->labels = $this->getLabels();
     }
 }
Example #2
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 #3
0
 public function executeLogin()
 {
     $this->error_inicio_sesion = false;
     $login = $this->getRequestParameter('login');
     $password = $this->getRequestParameter('password');
     if (isset($login)) {
         $c = new Criteria();
         $c->add(UsuarioPeer::USUARIO, $login);
         $c->add(UsuarioPeer::BORRADO, false);
         $user = UsuarioPeer::doSelectOne($c);
         if ($user) {
             // password OK?
             if (md5($password) == $user->getClave()) {
                 $this->getUser()->setAuthenticated(true);
                 // agrego atributos del usuario
                 $this->getUser()->setAttribute('id', $user->getId());
                 $this->getUser()->setAttribute('email', $user->getEmail());
                 $this->getUser()->setAttribute('fk_establecimiento_id', $user->getFkEstablecimientoId());
                 $this->getUser()->setAttribute('establecimiento_nombre', $user->getEstablecimiento()->getNombre());
                 $this->getUser()->setAttribute('fk_organizacion_id', $user->getEstablecimiento()->getFkOrganizacionId());
                 $this->getUser()->setAttribute('organizacion_nombre', $user->getEstablecimiento()->getOrganizacion()->getNombre());
                 $this->getUser()->setTheme('moderno');
                 //obtengo el ciclo lectivo actual del establecimiento
                 $c = new Criteria();
                 $c->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $user->getFkEstablecimientoId());
                 $c->add(CiclolectivoPeer::ACTUAL, 1);
                 $ciclo_actual = CiclolectivoPeer::doSelectOne($c);
                 if ($ciclo_actual) {
                     $this->getUser()->setAttribute('fk_ciclolectivo_id', $ciclo_actual->getId());
                     $this->getUser()->setAttribute('ciclolectivo_descripcion', $ciclo_actual->getDescripcion());
                 } else {
                     $this->getUser()->setAttribute('fk_ciclolectivo_id', 0);
                     $this->getUser()->setAttribute('ciclolectivo_descripcion', 'No Seleccionado');
                 }
                 $this->getUser()->setAttribute('usuario', $user->getUsuario());
                 //cargo las credenciales del usuario ylos roles
                 $this->getUser()->cargarCredenciales($user->getId());
                 $this->logMessage('Login ok', 'debug');
                 return $this->redirect($this->getRequestParameter('referer', '@homepage'));
             } else {
                 $this->error_inicio_sesion = true;
                 return sfView::SUCCESS;
             }
         } else {
             $this->logMessage('Login Error', 'debug');
             $this->error_inicio_sesion = true;
             return sfView::SUCCESS;
         }
     } else {
         $this->referer = $this->getRequest()->getReferer();
         $this->getRequest()->getParameterHolder()->set('referer', $this->getRequest()->getReferer());
     }
 }
Example #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;
 }
Example #5
0
 public function getCiclolectivo(PropelPDO $con = null)
 {
     if ($this->aCiclolectivo === null && $this->fk_ciclolectivo_id !== null) {
         $c = new Criteria(CiclolectivoPeer::DATABASE_NAME);
         $c->add(CiclolectivoPeer::ID, $this->fk_ciclolectivo_id);
         $this->aCiclolectivo = CiclolectivoPeer::doSelectOne($c, $con);
     }
     return $this->aCiclolectivo;
 }
Example #6
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 #7
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = CiclolectivoPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setFkEstablecimientoId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setFechaInicio($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setFechaFin($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setDescripcion($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setActual($arr[$keys[5]]);
     }
 }
Example #8
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);
     }
     FeriadoPeer::addSelectColumns($c);
     $startcol2 = FeriadoPeer::NUM_COLUMNS - FeriadoPeer::NUM_LAZY_LOAD_COLUMNS;
     CiclolectivoPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + (CiclolectivoPeer::NUM_COLUMNS - CiclolectivoPeer::NUM_LAZY_LOAD_COLUMNS);
     $c->addJoin(array(FeriadoPeer::FK_CICLOLECTIVO_ID), array(CiclolectivoPeer::ID), $join_behavior);
     $stmt = BasePeer::doSelect($c, $con);
     $results = array();
     while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
         $key1 = FeriadoPeer::getPrimaryKeyHashFromRow($row, 0);
         if (null !== ($obj1 = FeriadoPeer::getInstanceFromPool($key1))) {
         } else {
             $omClass = FeriadoPeer::getOMClass();
             $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
             $obj1 = new $cls();
             $obj1->hydrate($row);
             FeriadoPeer::addInstanceToPool($obj1, $key1);
         }
         $key2 = CiclolectivoPeer::getPrimaryKeyHashFromRow($row, $startcol2);
         if ($key2 !== null) {
             $obj2 = CiclolectivoPeer::getInstanceFromPool($key2);
             if (!$obj2) {
                 $omClass = CiclolectivoPeer::getOMClass();
                 $cls = substr('.' . $omClass, strrpos('.' . $omClass, '.') + 1);
                 $obj2 = new $cls();
                 $obj2->hydrate($row, $startcol2);
                 CiclolectivoPeer::addInstanceToPool($obj2, $key2);
             }
             $obj2->addFeriado($obj1);
         }
         $results[] = $obj1;
     }
     $stmt->closeCursor();
     return $results;
 }
Example #9
0
 private function _pasajeAlumnosData()
 {
     $ciclolectivo_id = $this->getUser()->getAttribute('fk_ciclolectivo_id');
     $ciclo_actual = CiclolectivoPeer::retrieveByPK($ciclolectivo_id);
     $this->optionsDivisiones = $ciclo_actual->getDivisionesArray();
     $c = new Criteria();
     $c->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
     $c->add(CiclolectivoPeer::ID, $ciclolectivo_id, Criteria::NOT_EQUAL);
     $this->optionsCiclos = CiclolectivoPeer::doSelect($c);
     $this->labels = array('pasaje{fk_division_destino_id}' => 'Divisi&oacute;n destino', 'pasaje{fk_alumno_id}' => 'Alumnos', 'pasaje{fk_division_id}' => 'Divisi&oacute;n origen', 'pasaje{fk_ciclolectivo_id}' => 'Ciclo lectivo');
 }
Example #10
0
 /**
  * Cambiamos de establecimiento y pasamos al ciclo actual activo del mismo
  */
 public function executeActual()
 {
     $id = $this->getRequestParameter('establecimiento');
     $c = new Criteria();
     $c->add(EstablecimientoPeer::ID, $id);
     $establecimiento = EstablecimientoPeer::doSelectOne($c);
     if ($establecimiento) {
         $this->getUser()->setAttribute('fk_establecimiento_id', $id);
         $this->getUser()->setAttribute('establecimiento_nombre', $establecimiento->getNombre());
         //  $this->getUser()->setFlash('notice', 'Se ha cambiado de establecimiento');
         $c = new Criteria();
         $c->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $id);
         $c->addDescendingOrderByColumn(CiclolectivoPeer::ACTUAL);
         $cicloactual = CiclolectivoPeer::doSelectOne($c);
         if ($cicloactual) {
             $this->getUser()->setAttribute('fk_ciclolectivo_id', $cicloactual->getId());
             $this->getUser()->setAttribute('ciclolectivo_descripcion', $cicloactual->getDescripcion());
             return $this->redirect($this->getRequestParameter('referer', '@homepage'));
         } else {
             $this->getUser()->setAttribute('fk_ciclolectivo_id', 0);
             $this->getUser()->setAttribute('ciclolectivo_descripcion', 'No Seleccionado');
             return $this->redirect($this->getRequestParameter('referer', '@homepage'));
         }
     }
 }
Example #11
0
 public function countCiclolectivos(Criteria $criteria = null, $distinct = false, PropelPDO $con = null)
 {
     if ($criteria === null) {
         $criteria = new Criteria(EstablecimientoPeer::DATABASE_NAME);
     } else {
         $criteria = clone $criteria;
     }
     if ($distinct) {
         $criteria->setDistinct();
     }
     $count = null;
     if ($this->collCiclolectivos === null) {
         if ($this->isNew()) {
             $count = 0;
         } else {
             $criteria->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $this->id);
             $count = CiclolectivoPeer::doCount($criteria, $con);
         }
     } else {
         if (!$this->isNew()) {
             $criteria->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $this->id);
             if (!isset($this->lastCiclolectivoCriteria) || !$this->lastCiclolectivoCriteria->equals($criteria)) {
                 $count = CiclolectivoPeer::doCount($criteria, $con);
             } else {
                 $count = count($this->collCiclolectivos);
             }
         } else {
             $count = count($this->collCiclolectivos);
         }
     }
     return $count;
 }
Example #12
0
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(CiclolectivoPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(CiclolectivoPeer::DATABASE_NAME);
         $criteria->add(CiclolectivoPeer::ID, $pks, Criteria::IN);
         $objs = CiclolectivoPeer::doSelect($criteria, $con);
     }
     return $objs;
 }