/** * Mueve un horario asignado al usuario. Verifica que estén presente * todos los campos y sean correctos. Controla que no haya superposición de * horarios. Imprime los resultados. */ private function moverHorario() { if (isset($_REQUEST['idHorario']) && isset($_REQUEST['fecha']) && isset($_REQUEST['ingreso']) && isset($_REQUEST['egreso'])) { // Obtiene el horario para editar solo los campos necesarios $this->horario = $this->gestorHorarios->getHorario($_REQUEST['idHorario']); $horarioViejo = new Horario(); $horarioViejo->copiar($this->horario); $this->horario->setUsuario($this->usuario); $this->horario->setFecha($_REQUEST['fecha']); $this->horario->setIngreso($_REQUEST['ingreso']); $this->horario->setEgreso($_REQUEST['egreso']); $horariosSuperpuestos = $this->gestorHorarios->getHorariosSuperpuestos($this->horario); if (empty($horariosSuperpuestos)) { $this->gestorHorarios->modificarHorario($this->horario); imprimirTabulados(5); echo '<div class="tablaTituloBotones">'; imprimirTabulados(6); echo '<h3>El horario:</h3>'; $horarios = array(); array_push($horarios, $horarioViejo); $tabla = new TablaHorariosAsignados($horarios); $tabla->imprimir(); imprimirTabulados(6); echo '<br /><h3>Ha sido movido exitosamente al horario:</h3>'; $horarios = array(); array_push($horarios, $this->horario); $tabla = new TablaHorariosAsignadosMovidos($horarios); $tabla->imprimir(); imprimirTabulados(5); echo '</div>'; } else { $this->imprimirHorariosSuperpuestos($horariosSuperpuestos); } } else { throw new Exception('No se especificó un parámetro'); } }