/** * Rechaza un nuevo horario del usuario. Imprime los resultados. */ private function rechazarNuevoHorario() { if (isset($_REQUEST['idNuevoHorario'])) { // Recupera el nuevo horario para poder imprimirlo $this->horario = $this->gestorHorarios->getNuevoHorario($_REQUEST['idNuevoHorario']); if (isset($_REQUEST['observacionesAdministrador'])) { $this->horario->setObservacionesAdministrador($_REQUEST['observacionesAdministrador']); } else { $this->horario->setObservacionesAdministrador(''); } $this->gestorHorarios->rechazarNuevoHorario($this->horario); imprimirTabulados(5); echo '<div class="tablaTituloBotones">'; imprimirTabulados(6); echo '<h3>El nuevo horario:</h3>'; $horarios = array(); array_push($horarios, $this->horario); $tabla = new TablaNuevoHorario($horarios); $tabla->imprimir(); imprimirTabulados(6); echo '<h3>Ha sido rechazado exitosamente</h3>'; echo '<h4>Se le informará al usuario la próxima vez que se autentique en el cliente</h4>'; imprimirTabulados(5); echo '</div>'; } else { throw new Exception('No se especificó un parámetro'); } }
/** * 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'); } }
/** * Inserta un horario extraordinario. * Un horario extraordinario es un horario no asignado a un horario habitual. * * @param HorarioAsignado $horario * @throws Exception Si el horario no se pudo insertar. */ public function insertarHorarioExtraordinario($horario) { // Establece el período actual $periodoActual = $this->gestorPeriodos->getPeriodoActual($horario->getArea()->getIdArea()); $horario->setPeriodo($periodoActual); $this->horarioDAO->insertarHorarioExtraordinario($horario); }