public function home()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["permisos"] = Session::get('permisos');
         $data["periodo_actual"] = Periodo::getPeriodoActual()->get();
         $data["usuario_ya_inscrito"] = true;
         if (!$data["periodo_actual"]->isEmpty()) {
             $data["periodo_actual"] = $data["periodo_actual"][0];
             $usuario_ya_existe = UsersPeriodo::getUsersPeriodoByUserXPeriodo($data["user"]->id, $data["periodo_actual"]->idperiodos)->get();
             if ($usuario_ya_existe->isEmpty()) {
                 $data["usuario_ya_inscrito"] = false;
             }
         } else {
             $data["periodo_actual"] = array();
         }
         if (in_array('side_aprobar_padrinos', $data["permisos"])) {
             $data["prepadrinos"] = Prepadrino::all()->count();
         }
         if (in_array('side_listar_convocatorias', $data["permisos"])) {
             $periodo_actual = Periodo::getPeriodoActual()->get();
             if ($periodo_actual->isEmpty()) {
                 $data["postulantes"] = 0;
                 $data["idperiodos"] = null;
             } else {
                 $aprobacion = null;
                 $periodo_actual = $periodo_actual[0];
                 $data["postulantes"] = PostulantesPeriodo::getPostulantesPorPeriodoFase($periodo_actual->idperiodos, 1, $aprobacion)->get()->count();
                 $data["idperiodos"] = $periodo_actual->idperiodos;
             }
         }
         if (in_array('side_aprobar_colegios', $data["permisos"])) {
             $data["precolegios"] = Precolegio::all()->count();
         }
         if (in_array('side_listar_usuarios', $data["permisos"])) {
             $data["usuarios"] = User::all()->count();
         }
         if (in_array('side_mis_eventos', $data["permisos"])) {
             return Redirect::to('/eventos/mis_eventos');
         }
         return View::make('dashboard/dashboard', $data);
     } else {
         return View::make('error/error');
     }
 }
 public function submit_disable_convocatoria()
 {
     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_nuevo_usuario', $data["permisos"])) {
             $idperiodo = Input::get('idperiodo');
             $exist_evento = Evento::where('idperiodos', '=', $idperiodo)->get();
             $exist_postulante = PostulantesPeriodo::where('idperiodos', '=', $idperiodo)->get();
             $exist_user = UsersPeriodo::where('idperiodos', '=', $idperiodo)->get();
             $url = "convocatorias/edit_convocatoria/" . $idperiodo;
             if ($exist_evento->isEmpty() && $exist_postulante->isEmpty() && $exist_user->isEmpty()) {
                 $periodo = Periodo::find($idperiodo);
                 $periodo->delete();
                 // Llamo a la función para registrar el log de auditoria
                 $descripcion_log = "Se inhabilitó el periodo con id {{$periodo->idperiodos}}";
                 Helpers::registrarLog(5, $descripcion_log);
                 Session::flash('message', 'Se inhabilitó correctamente la convocatoria.');
             } else {
                 Session::flash('error', 'Existe al menos un evento, postulante o usuario asociado a esta convocatoria. No es posible inhabilitar.');
             }
             return Redirect::to($url);
         } 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');
     }
 }
 public function render_mis_eventos()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["permisos"] = Session::get('permisos');
         $data["user_info"] = User::searchUserById($data["user"]->id)->get();
         if (in_array('side_mis_eventos', $data["permisos"])) {
             $data["periodo_actual"] = Periodo::getPeriodoActual()->get();
             $data["usuario_ya_inscrito"] = true;
             if (!$data["periodo_actual"]->isEmpty()) {
                 $data["periodo_actual"] = $data["periodo_actual"][0];
                 $usuario_ya_existe = UsersPeriodo::getUsersPeriodoByUserXPeriodo($data["user"]->id, $data["periodo_actual"]->idperiodos)->get();
                 if ($usuario_ya_existe->isEmpty()) {
                     $data["usuario_ya_inscrito"] = false;
                 }
             } else {
                 $data["periodo_actual"] = array();
             }
             return View::make('eventos/misEventos', $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');
     }
 }
 public function submit_repostulacion()
 {
     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"])) {
             $data["user_perfil"] = null;
             $data["periodo_actual"] = null;
             $data["usuario_ya_inscrito"] = true;
             $user_periodo = new UsersPeriodo();
             $user_periodo->idusers = Input::get('user_id');
             $user_periodo->idperiodos = Input::get('idperiodos');
             $user_periodo->save();
             // Llamo a la función para registrar el log de auditoria
             $descripcion_log = "Se creó el usuario por periodo con id {{$user_periodo->idusers_periodos}}";
             Helpers::registrarLog(3, $descripcion_log);
             Session::flash('message', "Se ha registrado correctamente su postulación al nuevo período.");
             return Redirect::to('/eventos/mis_eventos');
         } else {
             return View::make('error/error');
         }
     } else {
         return View::make('error/error');
     }
 }