modified: app.py

modified:   templates/user_landing_page.html
This commit is contained in:
SimolZimol
2024-10-25 15:32:46 +02:00
parent f29dad1bff
commit 7580bdfb3e
2 changed files with 23 additions and 28 deletions

49
app.py
View File

@@ -165,8 +165,25 @@ def load_user_data():
if "discord_user" in session:
g.user_info = session["discord_user"]
g.is_admin = session.get("is_admin", False)
g.guilds = session.get("discord_guilds", [])
g.bot_running = bot_status() # Lädt den Bot-Status in g
# Hole die Liste der Gilden aus der Datenbank
connection = get_db_connection()
cursor = connection.cursor(dictionary=True)
# Lade die Gilden des Nutzers
user_guilds = session.get("discord_guilds", [])
user_guild_ids = [guild["id"] for guild in user_guilds]
# Finde nur die Gilden, die auch in der Datenbank existieren
cursor.execute("SELECT guild_id FROM guilds WHERE guild_id IN (%s)" % ','.join(['%s'] * len(user_guild_ids)), user_guild_ids)
existing_guilds = cursor.fetchall()
# Filtere die Gilden des Nutzers basierend auf der Existenz in der Datenbank
g.guilds = [guild for guild in user_guilds if int(guild["id"]) in {g["guild_id"] for g in existing_guilds}]
cursor.close()
connection.close()
else:
# Falls der Benutzer nicht eingeloggt ist, keine Daten setzen
g.user_info = None
@@ -320,35 +337,13 @@ def server_giveaways(guild_id):
@app.route("/user_landing_page")
def user_landing_page():
"""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)
"""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)
return redirect(url_for("landing_page"))
@app.route("/global_admin_dashboard")
def global_admin_dashboard():
"""Globales Admin-Dashboard nur für globale Admins"""