modified: app.py
modified: templates/user_landing_page.html
This commit is contained in:
49
app.py
49
app.py
@@ -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"""
|
||||
|
||||
Reference in New Issue
Block a user