/** * 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)); }