Example #1
0
 public function getAsistenciasJoinAlumno($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     if ($criteria === null) {
         $criteria = new Criteria(TipoasistenciaPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collAsistencias === null) {
         if ($this->isNew()) {
             $this->collAsistencias = array();
         } else {
             $criteria->add(AsistenciaPeer::FK_TIPOASISTENCIA_ID, $this->id);
             $this->collAsistencias = AsistenciaPeer::doSelectJoinAlumno($criteria, $con, $join_behavior);
         }
     } else {
         $criteria->add(AsistenciaPeer::FK_TIPOASISTENCIA_ID, $this->id);
         if (!isset($this->lastAsistenciaCriteria) || !$this->lastAsistenciaCriteria->equals($criteria)) {
             $this->collAsistencias = AsistenciaPeer::doSelectJoinAlumno($criteria, $con, $join_behavior);
         }
     }
     $this->lastAsistenciaCriteria = $criteria;
     return $this->collAsistencias;
 }
Example #2
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = AsistenciaPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setFkAlumnoId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setFkTipoasistenciaId($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setFecha($arr[$keys[3]]);
     }
 }
Example #3
0
 /**
  * Graba las asistencias
  */
 public function executeGrabar()
 {
     // inicializando variables
     $aDatosTipoasistencia = array();
     // tomando los datos del formulario
     $division_id = $this->getRequestParameter('division_id');
     $vista_id = $this->getRequestParameter('vista_id');
     $d = $this->getRequestParameter('dia');
     $m = $this->getRequestParameter('mes');
     $y = $this->getRequestParameter('ano');
     $destino = "asistencia/index?division_id={$division_id}&dia={$d}&mes={$m}&ano={$y}&vistas={$vista_id}";
     if ($this->getRequestParameter('alumno_id')) {
         $alumno_id = $this->getRequestParameter('alumno_id');
         $destino .= "&alumno_id={$alumno_id}";
     }
     $aAsistencia = $this->getRequestParameter('asistencia');
     $cantAsistencia = count($aAsistencia);
     if ($cantAsistencia > 0) {
         // tomo los tipos de asistencias
         $aDatosTablaTipoAsistencias = $this->getTiposasistencias();
         //grabo al disco
         $con = Propel::getConnection();
         // Propel::getConnection()
         try {
             $con->beginTransaction();
             $criteria = new Criteria();
             foreach ($aAsistencia as $alumno_id => $aPeriodo) {
                 foreach ($aPeriodo as $fecha => $Tipoasistencia) {
                     $cton1 = $criteria->getNewCriterion(AsistenciaPeer::FK_ALUMNO_ID, $alumno_id);
                     $cton2 = $criteria->getNewCriterion(AsistenciaPeer::FECHA, $fecha);
                     $cton1->addAnd($cton2);
                     $criteria->addOr($cton1);
                 }
             }
             AsistenciaPeer::doDelete($criteria);
             foreach ($aAsistencia as $alumno_id => $aPeriodo) {
                 foreach ($aPeriodo as $fecha => $Tipoasistencia) {
                     $Asistencia = new Asistencia();
                     $Tipoasistencia = strtoupper($Tipoasistencia);
                     if (array_key_exists($Tipoasistencia, $aDatosTablaTipoAsistencias)) {
                         $Asistencia->setFkAlumnoId($alumno_id);
                         list($y, $m, $d) = split("[/. -]", $fecha);
                         $fecha = "{$y}-{$m}-{$d}";
                         $Asistencia->setFecha($fecha);
                         $Asistencia->setFkTipoasistenciaId($aDatosTablaTipoAsistencias[$Tipoasistencia][0]);
                         $Asistencia->save();
                     }
                 }
             }
             $con->commit();
         } catch (PDOException $e) {
             $con->rollBack();
             throw $e;
         }
     }
     return $this->redirect($destino);
 }
Example #4
0
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(AsistenciaPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(AsistenciaPeer::DATABASE_NAME);
         $criteria->add(AsistenciaPeer::ID, $pks, Criteria::IN);
         $objs = AsistenciaPeer::doSelect($criteria, $con);
     }
     return $objs;
 }