modified: app.py

modified:   templates/server_admin_dashboard.html
This commit is contained in:
SimolZimol
2024-10-29 11:28:11 +01:00
parent 5392a6be21
commit eca786a062
2 changed files with 97 additions and 121 deletions

64
app.py
View File

@@ -291,66 +291,30 @@ def user_server_data(guild_id):
@app.route("/server_admin_dashboard/<int:guild_id>")
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/<int:guild_id>/<int:user_id>", 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/<int:guild_id>/<int:user_id>")