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:
|
if "discord_user" in session:
|
||||||
g.user_info = session["discord_user"]
|
g.user_info = session["discord_user"]
|
||||||
g.is_admin = session.get("is_admin", False)
|
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
|
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:
|
else:
|
||||||
# Falls der Benutzer nicht eingeloggt ist, keine Daten setzen
|
# Falls der Benutzer nicht eingeloggt ist, keine Daten setzen
|
||||||
g.user_info = None
|
g.user_info = None
|
||||||
@@ -320,35 +337,13 @@ def server_giveaways(guild_id):
|
|||||||
|
|
||||||
@app.route("/user_landing_page")
|
@app.route("/user_landing_page")
|
||||||
def user_landing_page():
|
def user_landing_page():
|
||||||
"""Zeigt die gefilterten Gilden für den Benutzer an."""
|
"""Zeigt die globale Benutzerdaten und die Liste der Server an."""
|
||||||
if "discord_user" in session:
|
if g.user_info and "discord_guilds" in session:
|
||||||
user_info = session["discord_user"]
|
guilds = session["discord_guilds"]
|
||||||
user_id = user_info["id"]
|
return render_template("user_landing_page.html", user_info=g.user_info, guilds=guilds)
|
||||||
|
|
||||||
# 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"))
|
return redirect(url_for("landing_page"))
|
||||||
|
|
||||||
|
|
||||||
@app.route("/global_admin_dashboard")
|
@app.route("/global_admin_dashboard")
|
||||||
def global_admin_dashboard():
|
def global_admin_dashboard():
|
||||||
"""Globales Admin-Dashboard nur für globale Admins"""
|
"""Globales Admin-Dashboard nur für globale Admins"""
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<p>Select a server to view your server-specific data.</p>
|
<p>Select a server to view your server-specific data.</p>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{% for guild in session['filtered_guilds'] %}
|
{% for guild in g.guilds %}
|
||||||
<div class="col-md-4 mt-3">
|
<div class="col-md-4 mt-3">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<img src="https://cdn.discordapp.com/icons/{{ guild.id }}/{{ guild.icon }}.png" class="card-img-top" alt="Server Icon">
|
<img src="https://cdn.discordapp.com/icons/{{ guild.id }}/{{ guild.icon }}.png" class="card-img-top" alt="Server Icon">
|
||||||
|
|||||||
Reference in New Issue
Block a user