/** * Da de alta un usuario en la bd * * @param Request $request * @return redirect */ public function postRegistro(Request $request) { // Validacion $this->validate($request, ['email' => 'required|unique:usuarios|email|max:255', 'username' => 'required|unique:usuarios|alpha_dash|max:20', 'password' => 'required|min:6']); // Crear un usuario a partir del modelo User::create(['email' => $request->input('email'), 'username' => $request->input('username'), 'password' => bcrypt($request->input('password'))]); // Devolver la vista return redirect()->route('home')->with('info', 'Has creado tu cuenta correctamente! Ya puedes iniciar sesión.')->with('info_important', true); }
/** * Eliminar la relacion de amistad con un usuario. * * @param string $username * @return redirect */ public function postDelete($username) { $user = User::where('username', $username)->first(); // Si no hay amistad entre los usuarios if (!Auth::user()->esAmigoDe($user)) { return redirect()->back(); } // Eliminar la amistad Auth::user()->eliminarAmigo($user); return redirect()->back()->with('info', 'Amistad eliminada.')->with('info_important', true); }
/** * Muestra la pagina de resultados de busqueda de usuarios. * * @return view */ public function getResultados(Request $request) { $query = $request->input('query'); // Redirijo a la home si no hay consulta de busqueda if (!$query) { return redirect()->route('home'); } // Hago la consulta de busqueda $users = User::where(DB::raw("CONCAT(nombre, ' ', apellidos)"), 'LIKE', "%{$query}%")->orWhere('username', 'LIKE', "%{$query}%")->get(); // Devuelvo la vista con resultados return view('search.resultados')->with('users', $users); }
/** * Muestra la pagina de usuario individual. * * @param string $username Nombre de usuario almacenado en bd (col 'username') * @return view */ public function getPerfil($username) { // Comprobar que el nombre de usuario existe $usuario = User::where('username', $username)->first(); if (!$usuario) { abort(404); } // Obtener estados del propio usuario autenticado $estados = $usuario->estados()->noRespuesta()->get(); // authUsuarioEsAmigo se usara para mostrar el form de respuesta o no return view('profile.index')->with('user', $usuario)->with('estados', $estados)->with('authUsuarioEsAmigo', Auth::user()->esAmigoDe($usuario)); }