示例#1
0
 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();
         }
     }
 }
示例#2
0
 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);
 }