public function index()
 {
     App::import('Model', 'Horario');
     App::import('Model', 'Personal');
     App::import('Model', 'Materia');
     App::import('Model', 'Seccion');
     $this->set('horarios', $this->Asistencia->Horario->find('list', array('order' => 'Horario.personal_id ASC')));
     $horario = new Horario();
     $this->set('lista_horarios', $horario->find('all', array('recursive' => -1)));
     $personal = new Personal();
     $this->set('docentes', $personal->find('all', array('recursive' => -1)));
     $materia = new Materia();
     $this->set('materias', $materia->find('all', array('recursive' => -1)));
     $seccion = new Seccion();
     $this->set('secciones', $seccion->find('all', array('recursive' => -1)));
     //$this->set('horarios',$this->Asistencia->Horario->find('list', array('order' => 'Horario.personal_id ASC')));
 }
Esempio n. 2
0
 /**
  * Cambiar estado del registro de quiebre, ello implica cambiar el estado de
  * la tabla celula_quiebre, actividad_quiebre.
  * POST /quiebre/cambiarestado
  *
  * @return Response
  */
 public function postCambiarestado()
 {
     if (Request::ajax()) {
         $horario = Horario::find(Input::get('id'));
         $horario->estado = Input::get('estado');
         $horario->save();
         return Response::json(array('rst' => 1, 'msj' => 'Registro actualizado correctamente'));
     }
 }
 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();
 }