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']);
 }
Exemplo n.º 2
0
 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();
 }