diff --git a/app.py b/app.py index e887d55..29e3c06 100644 --- a/app.py +++ b/app.py @@ -161,9 +161,6 @@ def callback(): # Hole die Gilden (Server), auf denen der Benutzer ist guilds_response = discord.get('https://discord.com/api/users/@me/guilds') - # Debugging: Prüfe den Status der Antwort - print(f"Guilds response status: {guilds_response.status_code}") - if guilds_response.status_code != 200: flash("Fehler beim Abrufen der Gilden.", "danger") return redirect(url_for("landing_page")) @@ -173,41 +170,9 @@ def callback(): # Debugging: Gib die Gildeninformationen aus print(f"Guilds: {guilds}") - # Verbindung zur Datenbank herstellen - connection = get_db_connection() - cursor = connection.cursor() - - # Speichern oder Aktualisieren der Gildeninformationen in der Datenbank - for guild in guilds: - guild_id = guild['id'] - guild_name = guild['name'] - guild_icon = guild.get('icon', None) # Manche Gilden haben kein Icon - owner_id = guild['owner_id'] - - # Prüfen, ob die Gilde bereits existiert - cursor.execute("SELECT COUNT(*) FROM guilds WHERE guild_id = %s", (guild_id,)) - exists = cursor.fetchone()[0] - - if exists: - # Gilde aktualisieren - cursor.execute(""" - UPDATE guilds - SET name = %s, icon = %s, owner_id = %s - WHERE guild_id = %s - """, (guild_name, guild_icon, owner_id, guild_id)) - else: - # Neue Gilde einfügen - cursor.execute(""" - INSERT INTO guilds (guild_id, name, icon, owner_id) - VALUES (%s, %s, %s, %s) - """, (guild_id, guild_name, guild_icon, owner_id)) - - connection.commit() - cursor.close() - connection.close() - + # Stelle sicher, dass Gildeninformationen in der Session gespeichert werden session['discord_guilds'] = guilds # Speichere die Gilden in der Session - + # Weiterleitung zur Server-Auswahl return redirect(url_for("server_selection")) @@ -220,29 +185,17 @@ def callback(): @app.route("/server_selection") def server_selection(): - """Zeigt dem Benutzer eine Liste aller Server an, auf denen er sich befindet und die in der Datenbank vorhanden sind.""" - if "discord_user" in session: - user_info = session["discord_user"] - user_id = user_info["id"] - - connection = get_db_connection() - cursor = connection.cursor(dictionary=True) - - # Abfrage der Gilden, auf denen der Benutzer in der Datenbank Einträge hat - cursor.execute(""" - SELECT DISTINCT user_data.guild_id, guilds.name, guilds.icon - FROM user_data - JOIN guilds ON user_data.guild_id = guilds.guild_id - WHERE user_data.user_id = %s - """, (user_id,)) - guilds = cursor.fetchall() - - cursor.close() - connection.close() - + """Zeigt dem Benutzer eine Liste aller Server an, auf denen er sich befindet.""" + if "discord_user" in session and "discord_guilds" in session: + print("Session contains user and guilds data") # Debugging + guilds = session['discord_guilds'] return render_template("server_selection.html", guilds=guilds) - - return redirect(url_for("login")) + else: + print("Session is missing user or guilds data") # Debugging + + # Falls die Session keine Gildeninformationen enthält, leite zurück zur Startseite + flash("Keine Gilden gefunden. Bitte erneut einloggen.", "danger") + return redirect(url_for("landing_page")) @app.route("/admin_dashboard")