public function destroy($id)
 {
     $horarios = Horario::find($id);
     $horarios->delete();
     Session::flash('message', 'El Horario de la fecha ' . $horarios->fecha . ' fue eliminado');
     return redirect()->route('Administrador.horarios.index');
 }
예제 #2
0
 function listaAcceso(Request $r)
 {
     date_default_timezone_set("America/Mexico_City");
     $id_lab = Session::get('id_lab');
     $laboratorio = Laboratorio::find($id_lab);
     $salones = LabArea::where('id_laboratorio', $id_lab)->lists('salon');
     $labAreas = LabArea::where('id_laboratorio', $id_lab)->lists('id_area');
     $entradas = LabEntrada::whereIn('id_area', $labAreas)->whereNull('hora_salida')->paginate(8);
     $claves_mat = Horario::whereIn('salon', $salones)->lists('clave_materia');
     $materias = Materia::whereIn('clave_materia', $claves_mat)->get();
     /**  $res = ['succes'=> false];
          try {
           if($r->ajax())
           {
             $res['html'] = view('laboratorio.controlAlumnos.tablaAcceso',  array('entradas' => $entradas))-render();
             $res['succes'] = true;
             return response()->json($res);
     
           }
         } catch (Exception $e) {
           $res ['msj'] = $e->getMessage();
           return response()->json($res);
         }*/
     return view('laboratorio.controlAlumnos.acceso_alumnos', array('laboratorio' => $laboratorio, 'entradas' => $entradas, 'materias' => $materias));
 }
 public function crearCalendario(Request $request)
 {
     $producto = Producto::find($request->input('producto_id'));
     $dia_cita = $request->input('dia_cita');
     $hora_cita = $request->input('hora_cita');
     if (is_null($producto)) {
         $code = 1;
         $message = "El producto no existe";
     } else {
         $dayOfWeek = Carbon::now()->dayOfWeek;
         $horaNombre = Horario::find($hora_cita)->nombre;
         $today = Carbon::now()->toDateString();
         $dt_selected = Carbon::createFromFormat('Y-m-d H:i', $today . " " . $horaNombre);
         if ($dayOfWeek >= $dia_cita) {
             $citaInicial = Carbon::now()->next($dia_cita);
             //la cita es next day seleccionado porque seria la semana siguiente
         } else {
             //si la hora actual < la hora seleccionada
             if (Carbon::now()->lt($dt_selected)) {
                 $citaInicial = Carbon::now()->next($dia_cita);
             } else {
                 //si la hora seleccionada es < que la hora actual
                 //la cita es la proxima semana
                 $citaInicial = Carbon::now()->next($dia_cita)->addWeek();
             }
         }
         for ($i = 1; $i <= $producto->cantidad_citas; $i++) {
             if ($i == 1) {
                 $fechaCita = $citaInicial;
             } else {
                 $fechaCita = $fechaCita->addWeeks(2);
             }
             $esDiaInhabil = true;
             while ($esDiaInhabil) {
                 if ($this->esDiaInhabil($fechaCita->toDateString()) or !$this->esFechaValida($fechaCita->toDateString(), $hora_cita)) {
                     $fechaCita = $fechaCita->addWeek();
                 } else {
                     $esDiaInhabil = false;
                 }
             }
             $cita = new Cita();
             $cita->user_id = Auth::user()->id;
             $cita->producto_id = $producto->id;
             $cita->fecha = $fechaCita->toDateString();
             $cita->hora = $horaNombre;
             $cita->dia_id = $dia_cita;
             $cita->hora_id = $hora_cita;
             $cita->save();
         }
         //ponemos el producto configurado.
         $productoUser = Producto::find($request->input('producto_id'))->Usuarios()->updateExistingPivot(Auth::user()->id, array('configurado' => 2));
         $code = 0;
         $message = "OK";
     }
     $user = User::find(Auth::user()->id);
     $this->enviarCalendarioPorMail($producto, $user);
     return response()->json(["success" => true, "code" => $code, "message" => $message]);
 }
 public function store(Request $request)
 {
     //dd('jajaja');
     $file = $request->file('file');
     //obtenemos el campo file obtenido por el formulario
     $nombre = $file->getClientOriginalName();
     $cursos = $request->get('cursos');
     $salas = $request->get('salas');
     $periodos = $request->get('periodos');
     //indicamos que queremos guardar un nuevo archivo en el disco local
     \Storage::disk('local')->put($nombre, \File::get($file));
     \Excel::load('/storage/public/files/' . $nombre, function ($archivo) use($cursos, $salas, $periodos) {
         $result = $archivo->get();
         //leer todas las filas del archivo
         foreach ($result as $key => $value) {
             $salas = Sala::whereNombre($value->sala_id)->pluck('id');
             $periodos = Periodo::whereBloque($value->periodo_id)->pluck('id');
             $cursos = Curso::where('seccion', $value->curso_id)->pluck('id');
             if (is_null($salas)) {
                 // El campus no existe, deberia hacer algo para mitigar esto, o retornarlo al usuario ...
             }
             if (is_null($periodos)) {
                 // El campus no existe, deberia hacer algo para mitigar esto, o retornarlo al usuario ...
             }
             if (is_null($cursos)) {
                 // El campus no existe, deberia hacer algo para mitigar esto, o retornarlo al usuario ...
             }
             if (!Horario::where('sala_id', $salas)->where('periodo_id', $periodos)->where('curso_id', $cursos)->first()) {
                 $var = new Horario();
                 $var->fill(['fecha' => $value->fecha, 'sala_id' => $salas, 'periodo_id' => $periodos, 'curso_id' => $cursos]);
                 $var->save();
             }
         }
     })->get();
     \Storage::delete($nombre);
     Session::flash('message', 'Los Horarios fueron agregados exitosamente!');
     return redirect()->route('Administrador.horarios.index');
 }
예제 #5
0
 function dameMateria()
 {
     $grupo = "212";
     $res = ['success' => false];
     try {
         $horario = Horario::where('grupo', $grupo)->first();
         if ($horario != null) {
             $res['success'] = true;
             $res['materia'] = $horario->materia()->nombre_materia;
         }
     } catch (Exception $e) {
         $res['msj'] = $e->getMessage();
     }
     return response()->json($res);
 }
 public function guardarCita(Request $request)
 {
     $cliente = $request->input('user_id');
     $programa = $request->input('producto_id');
     $fecha = Carbon::createFromFormat('Y-m-d', $request->input('fecha'));
     $horaId = $request->input('hora');
     $hora = Horario::find($horaId);
     if (!is_null(Cita::where('dia_id', '=', $fecha->dayOfWeek)->where('hora_id', '=', $horaId)->first())) {
         return \Redirect::back()->with('error', 'Ya existe una cita para la fecha y hora seleccionada.');
     }
     $cita = new Cita();
     $cita->user_id = $cliente;
     $cita->producto_id = $programa;
     $cita->fecha = $request->input('fecha');
     $cita->hora = $hora->nombre;
     $cita->dia_id = $fecha->dayOfWeek;
     $cita->creadaporadmin = 1;
     $cita->hora_id = $horaId;
     $cita->save();
     return \Redirect::back()->with('message', 'La cita ha sido creada exitosamente.');
 }
 public function guardarCitaUnica(Request $request)
 {
     $producto = Producto::find($request->input('producto_id'));
     if (is_null($producto)) {
         App::abort(404);
     }
     $user = User::find(Auth::user()->id);
     $fechaCarbon = Carbon::createFromFormat("Y-m-d", $request->input('fecha'));
     $dia_cita = $fechaCarbon->dayOfWeek;
     $horaFormatHM = substr($request->input('hora'), 0, 5);
     $horario = Horario::whereNombre($horaFormatHM)->first();
     if (is_null($horario)) {
         return \Redirect::back()->with('error', 'Ocurrió un error con la fecha.');
     }
     $hora_cita = $horario->id;
     $cita = new Cita();
     $cita->user_id = Auth::user()->id;
     $cita->producto_id = $request->input('producto_id');
     $cita->fecha = $request->input('fecha');
     $cita->hora = $request->input('hora');
     $cita->dia_id = $dia_cita;
     $cita->hora_id = $hora_cita;
     $cita->save();
     //ponemos el producto configurado.
     $productoUser = Producto::find($request->input('producto_id'))->Usuarios()->updateExistingPivot(Auth::user()->id, array('configurado' => 2));
     $this->enviarCalendarioPorMail($producto, $user);
     return \Redirect("misproductos/ver/" . $request->input('producto_id'));
 }