public function deleteGroup() { $data = Input::all(); //Se obtienen los datos del grupo a eliminar. $toDelete = Plantilla::select('plantillas.id')->join('subjects as s', 'plantillas.id_subject', '=', 's.id')->join('plans as p', 'p.id', '=', 's.id_plan')->where('plantillas.grupo', '=', $data['g'])->where('s.semestre', '=', $data['s'])->where('p.nombre', '=', $data['pl'])->get(); //Se eliminan todos sus registros foreach ($toDelete as $dato) { $grupo = Plantilla::find($dato->id); $grupo->delete(); } return Redirect::to('proyectos/editar-proyecto?p=' . $data['pid']); }
public function get_guardar_cambios() { $data = Input::all(); $registro = Horario::select('*')->where('id_plantilla', $data['idReg'])->get(); //Si aún no hay ningún registro para la materia y grupo seleccionados... if (sizeof($registro) < 1) { foreach ($data['horasDia'] as $dia) { //Se crean los registros $registro = new Horario(); $registro->id_plantilla = $data['idReg']; /* Si el día no está asignado, los valores de hora_inicio, hora_fin y id_aula quedan en null. Índice nulo para horas: 0. Índice nulo para aulas: 1. */ if ($dia[1] == 1) { //Si no hay aula asignada, se añade el valor nulo $registro->id_aula = 1; } else { for ($i = $dia[2]; $i <= $dia[3]; $i++) { $row = Disponible::select('id')->where('id_aula', $dia[1])->where('dia', $dia[0])->where('hora', $i)->get(); $aula = Disponible::find($row[0]->id); $aula->disponible = 0; $aula->save(); } $registro->id_aula = $dia[1]; $registro->hora_inicio = $dia[2]; $registro->hora_fin = $dia[3]; } //Se agrega el valor del día y se guarda el registro. $registro->dia = $dia[0]; $registro->save(); } } else { //Separa los ID de las horas por comas y las convierte en un array. $horas = []; if ($data['ocupadas'] != "") { //Se revisa que no tenga horas ocupadas. $data['ocupadas'] = str_replace(" ", "", $data['ocupadas']); $data['ocupadas'] = strtoupper($data['ocupadas']); $horas = explode(',', $data['ocupadas']); foreach ($horas as $hora) { //Cambia las horas anteriores a libres. $liberarHora = Disponible::find($hora); $liberarHora->disponible = 1; $liberarHora->save(); } } $k = 0; foreach ($data['horasDia'] as $dia) { //Se crean los registros $materia = $registro[$k]['id']; $materia = Horario::find($materia); $k++; /* Si el día no está asignado, los valores de hora_inicio, hora_fin y id_aula quedan en null. Índice nulo para horas: 0. Índice nulo para aulas: 1. */ if ($dia[1] == 1) { //Si no hay aula asignada, se añade el valor nulo $materia->id_aula = 1; } else { for ($i = $dia[2]; $i <= $dia[3]; $i++) { $row = Disponible::select('id')->where('id_aula', $dia[1])->where('dia', $dia[0])->where('hora', $i)->get(); $aula = Disponible::find($row[0]->id); $aula->disponible = 0; $aula->save(); } $materia->id_aula = $dia[1]; $materia->hora_inicio = $dia[2]; $materia->hora_fin = $dia[3]; } //Se agrega el valor del día y se guarda el registro. $materia->dia = $dia[0]; $materia->save(); } } //Se agrega el profesor asignado a la base de datos. $temp = Plantilla::find($data['idReg']); $temp->id_profesor = $data['idProf']; $temp->save(); }