diff --git a/app.py b/app.py index d88da82..da94331 100644 --- a/app.py +++ b/app.py @@ -320,13 +320,35 @@ def server_giveaways(guild_id): @app.route("/user_landing_page") def user_landing_page(): - """Zeigt die globale Benutzerdaten und die Liste der Server an.""" - if g.user_info and "discord_guilds" in session: - guilds = session["discord_guilds"] - return render_template("user_landing_page.html", user_info=g.user_info, guilds=guilds) + """Zeigt die gefilterten Gilden für den Benutzer an.""" + if "discord_user" in session: + user_info = session["discord_user"] + user_id = user_info["id"] + + # Verbindung zur Datenbank herstellen + connection = get_db_connection() + cursor = connection.cursor(dictionary=True) + + # Holen der Guilds, bei denen der Benutzer Mitglied ist + cursor.execute(""" + SELECT guild_id + FROM user_data + WHERE user_id = %s + """, (user_id,)) + guild_ids = [row["guild_id"] for row in cursor.fetchall()] + + cursor.close() + connection.close() + + # Filtern der Gilden, sodass nur die Gilden angezeigt werden, bei denen der Benutzer Mitglied ist + user_guilds = [guild for guild in session.get("discord_guilds", []) if int(guild["id"]) in guild_ids] + session['filtered_guilds'] = user_guilds # Gefilterte Gilden in die Session speichern + + return render_template("user_landing_page.html", user_info=user_info) return redirect(url_for("landing_page")) + @app.route("/global_admin_dashboard") def global_admin_dashboard(): """Globales Admin-Dashboard nur für globale Admins""" diff --git a/templates/user_landing_page.html b/templates/user_landing_page.html index 0dc991c..c8cc10f 100644 --- a/templates/user_landing_page.html +++ b/templates/user_landing_page.html @@ -15,14 +15,14 @@

Select a server to view your server-specific data.

- {% for guild in g.guilds %} + {% for guild in session['filtered_guilds'] %}
- Server Icon + Server Icon
-
{{ guild['name'] }}
-

Select this server to view your data for {{ guild['name'] }}.

- View Server +
{{ guild.name }}
+

Select this server to view your data for {{ guild.name }}.

+ View Server