コード例 #1
0
ファイル: albaUser.class.php プロジェクト: mediasadc/alba
 /**
  * deuelve el establecimento del usuario
  * @return array $establecimientos
  * @todo: tienen que ser varios!
  */
 public function getEstablecimientos()
 {
     $establecimientos = array();
     $e = EstablecimientoPeer::retrieveByPk($this->getAttribute('fk_establecimiento_id'));
     array_push($establecimientos, $e);
     return $establecimientos;
 }
コード例 #2
0
ファイル: components.class.php プロジェクト: mediasadc/alba
 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;
 }
コード例 #3
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;
 }
コード例 #4
0
ファイル: actions.class.php プロジェクト: mediasadc/alba
 public function executeEdit($request)
 {
     $this->alumno = $this->getAlumnoOrCreate();
     //Datos de la cuenta
     $datosCuenta = "";
     if ($this->getRequestParameter("fk_cuenta_id")) {
         $datosCuenta = CuentaPeer::retrieveByPk($this->getRequestParameter("fk_cuenta_id"));
     }
     if ($this->alumno->getFkCuentaId()) {
         $datosCuenta = CuentaPeer::retrieveByPk($this->alumno->getFkCuentaId());
     }
     $this->datosCuenta = $datosCuenta;
     //Prefijo y número de legajo
     $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
     $estable = EstablecimientoPeer::retrieveByPk($establecimiento_id);
     $this->prefijo = $this->alumno->getLegajoPrefijo();
     $this->nrolegajo = $this->alumno->getLegajoNumero();
     if ($this->prefijo == "") {
         $this->prefijo = $estable->getLegajoPrefijo();
     }
     if ($this->nrolegajo == "") {
         $this->nrolegajo = $estable->getLegajoSiguiente();
     }
     //Fecha de nacimiento
     $today = getdate();
     $fecha_nac = $this->alumno->getFechaNacimiento("Y");
     if ($fecha_nac != "") {
         $this->edad = $today['year'] - $fecha_nac;
     } else {
         $this->edad = "";
     }
     if ($this->getRequest()->getMethod() == sfRequest::POST) {
         $this->alumno = $this->getAlumnoOrCreate();
         $this->updateAlumnoFromRequest();
         //Obteniendo fecha segun cultura
         $fecha_nacimiento = $this->getRequestParameter('alumno[fecha_nacimiento]');
         if ($fecha_nacimiento) {
             $user_culture = $this->getUser()->getCulture();
             list($d, $m, $y) = $this->getContext()->getI18N()->getDateForCulture($fecha_nacimiento, $user_culture);
             $this->alumno->setFechaNacimiento("{$y}-{$m}-{$d}");
         }
         $this->saveAlumno($this->alumno);
         //Actualizo el nro siguiente.
         $nrosiguiente = $this->alumno->getLegajoNumero() + 1;
         $estable->setLegajoSiguiente($nrosiguiente);
         $estable->Save();
         $this->getUser()->setFlash('notice', 'Your modifications have been saved');
         if ($this->getRequestParameter('save_and_add')) {
             return $this->redirect('alumno/create?fk_cuenta_id=' . $this->alumno->getFkCuentaId());
         } else {
             return $this->redirect('alumno/edit?id=' . $this->alumno->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');
         if ($this->getRequestParameter('fk_cuenta_id')) {
             $this->alumno->setFkCuentaId($this->getRequestParameter('fk_cuenta_id'));
         }
     }
 }
コード例 #5
0
ファイル: actions.class.php プロジェクト: mediasadc/alba
 public function executeListConcepto()
 {
     // inicializando variables
     $optionsConcepto = array();
     $optionsDivision = array();
     $optionsCarrera = array();
     $aAlumno = array();
     $division_id = "";
     $concepto_id = "";
     $periodo_id = "";
     $carrera_id = "";
     $aPeriodo = array();
     $aPosiblesNotas = array();
     $optionsPeriodo = array();
     $aNotaAlumno = array();
     $aNotaAlumnoObs = array();
     $sizeNota = 0;
     $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
     // tomando los datos del formulario
     $division_id = $this->getRequestParameter('division_id');
     $periodo_id = $this->getRequestParameter('periodo_id');
     $concepto_id = $this->getRequestParameter('concepto_id');
     $carrera_id = $this->getRequestParameter('carrera_id');
     // llenando el combo de division segun establecimiento
     $optionsDivision = $this->getDivisiones($establecimiento_id, $carrera_id);
     $optionsCarrera = $this->getCarreras($establecimiento_id);
     $optionsConcepto[] = "";
     $e = EstablecimientoPeer::retrieveByPk($establecimiento_id);
     $optionsConcepto = array_merge($optionsConcepto, $e->getConceptosArray());
     $aAlumno = $this->getAlumnos($division_id);
     $criteria = new Criteria();
     $criteria->add(PeriodoPeer::FK_CICLOLECTIVO_ID, $this->getUser()->getAttribute('fk_ciclolectivo_id'));
     $criteria->add(PeriodoPeer::CALCULAR, false);
     $aPeriodo = PeriodoPeer::doSelect($criteria);
     $optionsPeriodo[] = "Todos";
     foreach ($aPeriodo as $periodo) {
         $optionsPeriodo[$periodo->getId()] = $periodo->getDescripcion();
     }
     if ($periodo_id) {
         $aPeriodo = array();
         $aPeriodo[] = PeriodoPeer::retrieveByPK($periodo_id);
     }
     if (count($aAlumno) > 0) {
         // esto puede ser mejorado con solo una query bastante facilmente
         foreach ($aAlumno as $alumno) {
             foreach ($aPeriodo as $periodo) {
                 $criteria = new Criteria();
                 $criteria->add(BoletinConceptualPeer::FK_ALUMNO_ID, $alumno->getId());
                 $criteria->add(BoletinConceptualPeer::FK_PERIODO_ID, $periodo->getId());
                 $criteria->add(BoletinConceptualPeer::FK_CONCEPTO_ID, $concepto_id);
                 $aBoletinConceptual = BoletinConceptualPeer::doSelect($criteria);
                 $aNotaAlumno[$alumno->getId()][$periodo->getId()] = "";
                 $aNotaAlumnoObs[$alumno->getId()][$periodo->getId()] = "";
                 foreach ($aBoletinConceptual as $boletinConceptual) {
                     //if(method_exists($legajopedagogico->getResumen(),'getContents')) {
                     if ($boletinConceptual->getFkEscalanotaId()) {
                         $aNotaAlumno[$alumno->getId()][$periodo->getId()] = $boletinConceptual->getEscalanota()->getNombre();
                     }
                     if ($boletinConceptual->getObservacion()) {
                         if ($boletinConceptual->getObservacion() != null) {
                             $aNotaAlumnoObs[$alumno->getId()][$periodo->getId()] = $boletinConceptual->getObservacion();
                         }
                     }
                 }
             }
         }
     }
     $criteria = new Criteria();
     $criteria->add(EscalanotaPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
     $aPosiblesNotas = EscalanotaPeer::doSelect($criteria);
     foreach ($aPosiblesNotas as $p) {
         $actual = strlen($p->getNombre());
         if ($actual > $sizeNota) {
             $sizeNota = $actual;
         }
     }
     // llenar variables a mostrar en el template
     $this->optionsDivision = $optionsDivision;
     $this->optionsConcepto = $optionsConcepto;
     $this->aAlumno = $aAlumno;
     $this->division_id = $division_id;
     $this->concepto_id = $concepto_id;
     $this->periodo_id = $periodo_id;
     $this->carrera_id = $carrera_id;
     $this->optionsCarrera = $optionsCarrera;
     $this->aPeriodo = $aPeriodo;
     $this->aPosiblesNotas = $aPosiblesNotas;
     $this->optionsPeriodo = $optionsPeriodo;
     $this->aNotaAlumno = $aNotaAlumno;
     $this->aNotaAlumnoObs = $aNotaAlumnoObs;
     $this->sizeNota = $sizeNota;
 }