public function index() { $auth_token = \Request::header('authorization'); $user = \User::where('auth_token', '=', $auth_token)->first(); // obtener los permisos del usuario $idpermisos = \User::getPermisosPorUsuarioId($user->id)->get()->lists('idpermisos'); // obtener los eventos de acuerdo a los permisos del usuario $eventos = []; if (in_array(12, $idpermisos)) { // tiene el permiso "listar (todos los) eventos" $eventos = \Evento::all(); } elseif (in_array(15, $idpermisos)) { // tiene el permiso "mis eventos" $eventos = \Asistencia::getEventosPorUser($user->id)->get(); } $response = []; foreach ($eventos as $e) { // obtener los documentos del evento $docs = \DocumentosEvento::getDocumentosPorEvento($e->ideventos)->get(); foreach ($docs as $d) { // obtener hace cuantos dias se subio el documento $from = new \DateTime(); $from->setTimestamp(strtotime($d->created_at)); $to = new \DateTime('today'); $dias = $from->diff($to)->d; // obtener los usuarios asignados al documento (al evento) $users = []; $usuarios = \Asistencia::getUsersPorEvento($e->ideventos)->get(); foreach ($usuarios as $u) { $perfiles = \User::getPerfilesPorUsuario2($u->id)->get(); $perfiles_array = []; foreach ($perfiles as $perfil) { $perfiles_array[] = ['id' => $perfil->idperfiles, 'name' => $perfil->nombre]; } // verificar si el usuario ha visto el documento $visto = \Visualizacion::getVisualizacionesPorUserPorEventoPorDocumento($u->id, $e->ideventos, $d->iddocumentos)->first(); $users[] = ['id' => $u->id, 'names' => $u->nombres, 'last_name' => $u->apellido_pat, 'username' => $u->num_documento, 'profiles' => $perfiles_array, 'seen' => $visto ? 1 : 0]; } $response[] = ['id' => $d->iddocumentos, 'name' => $d->titulo, 'url' => $d->ruta . $d->nombre_archivo, 'upload_date' => 'Hace ' . $dias . ' día' . ($dias != 1 ? 's' : '') . ', ' . date('h:i A', $from->getTimestamp()), 'size' => $d->peso . ' KB', 'users' => $users]; } } return \Response::json($response, 200); }
public function render_ver_evento($id = null) { 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"]) && $id) { $asistencia = Asistencia::validarAsistencia($data["user"]->id, $id)->get(); if ($asistencia->isEmpty()) { Session::flash('error', 'Lo sentimos, no tiene acceso a ver el evento solicitado.'); return Redirect::to('eventos/mis_eventos'); } $data["evento_info"] = Evento::searchEventosById($id)->get(); if ($data["evento_info"]->isEmpty()) { Session::flash('error', 'No se encontró el evento.'); return Redirect::to('eventos/mis_eventos'); } $data["evento_info"] = $data["evento_info"][0]; $data["documentos"] = DocumentosEvento::getDocumentosPorEvento($data["evento_info"]->ideventos)->get(); $data["voluntarios"] = Asistencia::getUsersPorEvento($data["evento_info"]->ideventos)->get(); $data["puntos_reunion"] = PuntoReunion::all(); $puntos_reunion_seleccionados = PuntoEvento::getPuntosPorEvento($data["evento_info"]->ideventos)->get()->toArray(); foreach ($puntos_reunion_seleccionados as $punto_reunion_seleccionado) { $data["puntos_reunion_seleccionados"][] = $punto_reunion_seleccionado['idpuntos_reunion']; } return View::make('eventos/verEvento', $data); } 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'); } }