From eca786a0621c79be3fc793a76cbf3d6913ced08e Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Tue, 29 Oct 2024 11:28:11 +0100 Subject: [PATCH] modified: app.py modified: templates/server_admin_dashboard.html --- app.py | 64 +++-------- templates/server_admin_dashboard.html | 154 ++++++++++++++------------ 2 files changed, 97 insertions(+), 121 deletions(-) diff --git a/app.py b/app.py index 0f36fb6..8bdfc87 100644 --- a/app.py +++ b/app.py @@ -291,66 +291,30 @@ def user_server_data(guild_id): @app.route("/server_admin_dashboard/") def server_admin_dashboard(guild_id): """Serverbasiertes Admin-Dashboard für server-spezifische Admin-Rechte.""" - user_info = session.get("discord_user") - if user_info: - user_id = user_info["id"] - - # Überprüfen, ob der Benutzer Admin-Rechte auf dem Server hat - if is_server_admin(guild_id): - connection = get_db_connection() - cursor = connection.cursor(dictionary=True) - - # Hole die Benutzer und Giveaways für den spezifischen Server - cursor.execute("SELECT * FROM user_data WHERE guild_id = %s", (guild_id,)) - users = cursor.fetchall() - - cursor.execute("SELECT * FROM giveaway_data WHERE guild_id = %s", (guild_id,)) - giveaways = cursor.fetchall() - - # Hole den Gildennamen aus der guilds-Tabelle - cursor.execute("SELECT name FROM guilds WHERE guild_id = %s", (guild_id,)) - guild_name_result = cursor.fetchone() - guild_name = guild_name_result["name"] if guild_name_result else "Unknown Guild" - - cursor.close() - connection.close() - - return render_template("server_admin_dashboard.html", - users=users, giveaways=giveaways, - guild_id=guild_id, guild_name=guild_name) - - flash("You do not have permission to access this server's admin dashboard.", "danger") - return redirect(url_for("user_landing_page")) - -@app.route("/edit_user//", methods=["GET", "POST"]) -def edit_user(guild_id, user_id): - """Bearbeitet Benutzerinformationen für einen bestimmten Server.""" if is_server_admin(guild_id): connection = get_db_connection() cursor = connection.cursor(dictionary=True) - if request.method == "POST": - points = request.form["points"] - level = request.form["level"] - permission = request.form["permission"] + # Giveaways für den Server abrufen + cursor.execute("SELECT * FROM giveaway_data WHERE guild_id = %s", (guild_id,)) + giveaways = cursor.fetchall() - cursor.execute(""" - UPDATE user_data - SET points = %s, level = %s, permission = %s - WHERE guild_id = %s AND user_id = %s - """, (points, level, permission, guild_id, user_id)) - connection.commit() + # Benutzer auf dem Server abrufen + cursor.execute("SELECT * FROM user_data WHERE guild_id = %s", (guild_id,)) + server_users = cursor.fetchall() - flash("User data updated successfully!", "success") - return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + # Servername aus der guilds-Tabelle holen + cursor.execute("SELECT name FROM guilds WHERE guild_id = %s", (guild_id,)) + guild_name_result = cursor.fetchone() + guild_name = guild_name_result["name"] if guild_name_result else "Unknown Guild" - cursor.execute("SELECT * FROM user_data WHERE guild_id = %s AND user_id = %s", (guild_id, user_id)) - user = cursor.fetchone() cursor.close() connection.close() - return render_template("edit_user.html", user=user, guild_id=guild_id) - return redirect(url_for("landing_page")) + return render_template("server_admin_dashboard.html", giveaways=giveaways, server_users=server_users, guild_id=guild_id, guild_name=guild_name) + + flash("You do not have permission to access this server's admin dashboard.", "danger") + return redirect(url_for("user_landing_page")) @app.route("/ban_user//") diff --git a/templates/server_admin_dashboard.html b/templates/server_admin_dashboard.html index 1562aed..fe0e922 100644 --- a/templates/server_admin_dashboard.html +++ b/templates/server_admin_dashboard.html @@ -3,91 +3,103 @@ - Server Admin Dashboard - {{ guild_name }} + Server Admin Dashboard {% include 'navigation.html' %}
-

Server Admin Dashboard for {{ guild_name }}

-

Manage server-specific settings for server {{ guild_id }}.

+

Server Admin Dashboard for {{ guild_name }}

+

Manage server-specific settings and data for server {{ guild_id }}.

- -
-

User Management

-
- - - - - - - - - - - - {% for user in users %} - - - - - - - - {% endfor %} - -
Discord IDPointsLevelRoleAction
{{ user.user_id }}{{ user.points }}{{ user.level }}{{ user.permission }} - Edit - Ban -
+ +
+
+
Giveaway Management
+

View and manage all active giveaways for this server.

+
+ + + + + + + + + + + + {% for giveaway in giveaways %} + + + + + + + + {% endfor %} + +
NamePlatformWinnerStatusActions
{{ giveaway.name }}{{ giveaway.platform }}{{ giveaway.winner_dc_id }} + {% if giveaway.aktiv %} + Redeemed + {% else %} + Not Redeemed + {% endif %} + + Edit +
+
- -
-

Giveaway Management

-
- - - - - - - - - - - - {% for giveaway in giveaways %} - - - - - - - - {% endfor %} - -
NamePlatformWinner IDStatusAction
{{ giveaway.name }}{{ giveaway.platform }}{{ giveaway.winner_dc_id }} - {% if giveaway.aktiv %} - Redeemed - {% else %} - Not Redeemed - {% endif %} - - Edit - Delete -
+ +
+
+
User Management
+

Manage server members' data, including points, bans, and permissions.

+
+ + + + + + + + + + + + {% for user in server_users %} + + + + + + + + {% endfor %} + +
User IDPointsLevelBannedActions
{{ user.user_id }}{{ user.points }}{{ user.level }} + {% if user.ban %} + Banned + {% else %} + Active + {% endif %} + + Edit +
+