コード例 #1
0
ファイル: actions.class.php プロジェクト: mediasadc/alba
 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();
         }
     }
 }