/**
  * Imprime una fila individual de la tabla.
  *
  * @param DiaFeriado $diaFeriado Dia feriado a imprimir.
  * @param integer $fila Número de dia feriado que se está imprimiendo
  */
 protected function imprimirFila($diaFeriado, $fila)
 {
     // Debe sumarse uno a la fila porque la fila 0 es la cabecera
     $this->tabla->setCellContents($fila + 1, 0, $diaFeriado->imprimirFecha());
     $this->tabla->setCellContents($fila + 1, 1, $diaFeriado->getDescripcion());
     $this->tabla->setCellContents($fila + 1, 2, $this->acciones($diaFeriado->getIdDiaFeriado()));
     $this->tabla->setRowAttributes($fila + 1, $this->clase, false);
 }
 public function getDiaFeriado($idDiaFeriado)
 {
     $connection = parent::initDB();
     $query = "SELECT idDiaFeriado, periodo, fecha, descripcion " . "FROM dia_feriado " . "WHERE idDiaFeriado = {$idDiaFeriado} ";
     $result = mysql_query($query);
     if (mysql_num_rows($result) != 1) {
         throw new Exception('No se pudo obtener el dia feriado');
     }
     $row = mysql_fetch_array($result);
     $diaFeriado = new DiaFeriado();
     $diaFeriado->setIdDiaFeriado($row['idDiaFeriado']);
     $diaFeriado->setPeriodo($this->getPeriodo($row['periodo']));
     $diaFeriado->setFechaISO($row['fecha']);
     $diaFeriado->setDescripcion($row['descripcion']);
     parent::closeDB($connection);
     return $diaFeriado;
 }
 /**
  * Realiza las validaciones necesarias y agrega un feriado al período actual.
  * Informa errores mediante excepciones.
  */
 private function agregarDiaFeriado()
 {
     if (isset($_REQUEST['idPeriodo']) && isset($_REQUEST['fechaDiaFeriado']) && isset($_REQUEST['descripcionDiaFeriado'])) {
         // Acciones ejecutadas
         $diaFeriado = new DiaFeriado();
         $diaFeriado->setPeriodo($this->gestorPeriodos->getPeriodo($_REQUEST['idPeriodo']));
         $diaFeriado->setFecha($_REQUEST['fechaDiaFeriado']);
         $diaFeriado->setDescripcion($_REQUEST['descripcionDiaFeriado']);
         // Impresion
         imprimirTabulados(5);
         echo '<div class="tablaTituloBotones">';
         try {
             $this->gestorPeriodos->insertarDiaFeriado($diaFeriado);
             imprimirTabulados(6);
             echo '<h3>El feriado:</h3>';
             $diasFeriados = array();
             array_push($diasFeriados, $diaFeriado);
             $tabla = new TablaDiasFeriadosAgregados($diasFeriados);
             $tabla->imprimir();
             imprimirTabulados(6);
             echo '<h3>Ha sido agregado exitosamente</h3>';
         } catch (Exception $excepcion) {
             imprimirTabulados(5);
             echo '<h2>Se produjo un error al procesar la solicitud:</h2><br />';
             imprimirTabulados(5);
             echo '<h3>' . $excepcion->getMessage() . '</h3>';
         }
         imprimirTabulados(5);
         echo '</div>';
         $this->imprimirPeriodo($_REQUEST['idPeriodo']);
     } else {
         throw new Exception('No se especificó un parámetro');
     }
 }
 /**
  * Imprime una fila de tabla con un día feriado y coloca campos para editar el mismo.
  *
  * @param DiaFeriado $diaFeriado DiaFeriado a editar.
  * @param integer $fila Número de día feriado que se está imprimiendo.
  */
 private function filaTablaEditar($diaFeriado, $fila)
 {
     // Debe sumarse uno a la fila porque la fila 0 es la cabecera
     // Se abre un formulario para editar los campos
     $this->tabla->setCellContents($fila + 1, 0, $this->formulario . $diaFeriado->imprimirFecha());
     $this->tabla->setCellContents($fila + 1, 1, '<input class="campoTexto" type="text" name="descripcionDiaFeriado" size="30" value="' . $diaFeriado->getDescripcion() . '" />');
     $this->tabla->setCellContents($fila + 1, 2, $this->accionesFilaTablaEditar($diaFeriado->getIdDiaFeriado()));
     $this->tabla->setRowAttributes($fila + 1, $this->clase, false);
 }