From 2cbbc6815663b73058ba4be0833e096154e61a7b Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Sun, 27 Oct 2024 12:56:34 +0100 Subject: [PATCH] modified: app.py --- app.py | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/app.py b/app.py index c8c5b83..10bb37a 100644 --- a/app.py +++ b/app.py @@ -322,6 +322,88 @@ def server_admin_dashboard(guild_id): 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//") +def ban_user(guild_id, user_id): + """Banned einen Benutzer auf einem spezifischen Server.""" + if is_server_admin(guild_id): + connection = get_db_connection() + cursor = connection.cursor() + + try: + cursor.execute("UPDATE user_data SET ban = 1 WHERE user_id = %s AND guild_id = %s", (user_id, guild_id)) + connection.commit() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + except Exception as e: + print(f"Error banning user: {e}") + connection.rollback() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + finally: + cursor.close() + connection.close() + return redirect(url_for("landing_page")) + +@app.route("/update_points//", methods=["POST"]) +def update_points(guild_id, user_id): + """Aktualisiert die Punkte eines Benutzers auf einem spezifischen Server.""" + if is_server_admin(guild_id): + points_change = int(request.form["points_change"]) + connection = get_db_connection() + cursor = connection.cursor() + + try: + cursor.execute("UPDATE user_data SET points = points + %s WHERE user_id = %s AND guild_id = %s", (points_change, user_id, guild_id)) + connection.commit() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + except Exception as e: + print(f"Error updating points: {e}") + connection.rollback() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + finally: + cursor.close() + connection.close() + return redirect(url_for("landing_page")) + +@app.route("/unban_user//") +def unban_user(guild_id, user_id): + """Entbannt einen Benutzer auf einem spezifischen Server.""" + if is_server_admin(guild_id): + connection = get_db_connection() + cursor = connection.cursor() + + try: + cursor.execute("UPDATE user_data SET ban = 0 WHERE user_id = %s AND guild_id = %s", (user_id, guild_id)) + connection.commit() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + except Exception as e: + print(f"Error unbanning user: {e}") + connection.rollback() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + finally: + cursor.close() + connection.close() + return redirect(url_for("landing_page")) + +@app.route("/update_role//", methods=["POST"]) +def update_role(guild_id, user_id): + """Aktualisiert die Rolle (Berechtigung) eines Benutzers auf einem spezifischen Server.""" + if is_server_admin(guild_id): + new_permission = request.form["permission"] + connection = get_db_connection() + cursor = connection.cursor() + + try: + cursor.execute("UPDATE user_data SET permission = %s WHERE user_id = %s AND guild_id = %s", (new_permission, user_id, guild_id)) + connection.commit() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + except Exception as e: + print(f"Error updating role: {e}") + connection.rollback() + return redirect(url_for("server_admin_dashboard", guild_id=guild_id)) + finally: + cursor.close() + connection.close() + return redirect(url_for("landing_page")) + @app.route("/user_dashboard/") def user_dashboard(guild_id): """Serverbasiertes User-Dashboard"""