diff --git a/app.py b/app.py index 05630e0..0f36fb6 100644 --- a/app.py +++ b/app.py @@ -300,7 +300,10 @@ def server_admin_dashboard(guild_id): connection = get_db_connection() cursor = connection.cursor(dictionary=True) - # Hole die Giveaways für den spezifischen Server + # 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() @@ -312,13 +315,44 @@ def server_admin_dashboard(guild_id): cursor.close() connection.close() - g.guild_id = guild_id - g.guild_name = guild_name - return render_template("server_admin_dashboard.html", giveaways=giveaways, guild_id=guild_id, guild_name=guild_name) + 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"] + + 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() + + flash("User data updated successfully!", "success") + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + + 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")) + + @app.route("/ban_user//") def ban_user(guild_id, user_id): """Banned einen Benutzer auf einem spezifischen Server.""" diff --git a/templates/server_admin_dashboard.html b/templates/server_admin_dashboard.html index 90387e1..1562aed 100644 --- a/templates/server_admin_dashboard.html +++ b/templates/server_admin_dashboard.html @@ -3,28 +3,68 @@ - Server Admin Dashboard + Server Admin Dashboard - {{ guild_name }} + {% include 'navigation.html' %}
-

Server Admin Dashboard for {{ g.guild_name }}

-

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

+

Server Admin Dashboard for {{ guild_name }}

+

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

- -
-
-
Giveaway Management
-

Manage and view all active giveaways for this server.

- + +
+

User Management

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

Giveaway Management

+
+ - + - + @@ -41,7 +81,8 @@ {% endif %} {% endfor %}
Name PlatformWinnerWinner ID StatusActionsAction
- Edit + Edit + Delete