public function register_visualization($document_id)
 {
     $documento = \Documento::find($document_id);
     if (!$documento) {
         return \Response::json(['error' => 'No existe ningun documento con id = ' . $document_id], 200);
     }
     $auth_token = \Request::header('authorization');
     $user = \User::where('auth_token', '=', $auth_token)->first();
     $idevento = \Input::get('session_id');
     if ($idevento) {
         $evento = \Evento::find($idevento);
         if (!$evento) {
             return \Response::json(['error' => 'No existe ninguna sesión con id = ' . $idevento], 200);
         }
         $v = new \Visualizacion();
         $v->idusers = $user->id;
         $v->ideventos = $evento->ideventos;
         $v->iddocumentos = $document_id;
         $v->save();
     } else {
         // obtener todos los eventos asociados al documento
         $eventos = \DocumentosEvento::where('iddocumentos', '=', $document_id)->get();
         foreach ($eventos as $evento) {
             $v = new \Visualizacion();
             $v->idusers = $user->id;
             $v->ideventos = $evento->ideventos;
             $v->iddocumentos = $document_id;
             $v->save();
         }
     }
     return \Response::json(['success' => 1], 200);
 }
 public function submit_descargar_documento()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["permisos"] = Session::get('permisos');
         if (in_array('side_mis_eventos', $data["permisos"]) || in_array('side_nuevo_evento', $data["permisos"])) {
             $ideventos = Input::get('ideventos');
             $iddocumentos = Input::get('iddocumentos');
             $visualizacion = Visualizacion::getVisualizacionesPorUserPorEventoPorDocumento($data["user"]->id, $ideventos, $iddocumentos)->get();
             if ($visualizacion->isEmpty()) {
                 $nueva_visualización = new Visualizacion();
                 $nueva_visualización->idusers = $data["user"]->id;
                 $nueva_visualización->ideventos = $ideventos;
                 $nueva_visualización->iddocumentos = $iddocumentos;
                 $nueva_visualización->save();
             }
             $documento = Documento::find($iddocumentos);
             $rutaDestino = $documento->ruta . $documento->nombre_archivo;
             $headers = array('Content-Type', mime_content_type($rutaDestino));
             // Llamo a la función para registrar el log de auditoria
             $descripcion_log = "Se descargó el documento con id {{$documento->iddocumentos}}";
             Helpers::registrarLog(9, $descripcion_log);
             return Response::download($rutaDestino, basename($documento->titulo), $headers);
         } else {
             // Llamo a la función para registrar el log de auditoria
             $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'";
             Helpers::registrarLog(10, $descripcion_log);
             Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.');
             return Redirect::to('/dashboard');
         }
     } else {
         return View::make('error/error');
     }
 }