modified: app.py

This commit is contained in:
SimolZimol
2024-10-27 12:56:34 +01:00
parent dd6e7c955a
commit 2cbbc68156

82
app.py
View File

@@ -322,6 +322,88 @@ def server_admin_dashboard(guild_id):
flash("You do not have permission to access this server's admin dashboard.", "danger") flash("You do not have permission to access this server's admin dashboard.", "danger")
return redirect(url_for("user_landing_page")) return redirect(url_for("user_landing_page"))
@app.route("/ban_user/<int:guild_id>/<int:user_id>")
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/<int:guild_id>/<int:user_id>", 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/<int:guild_id>/<int:user_id>")
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/<int:guild_id>/<int:user_id>", 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/<int:guild_id>") @app.route("/user_dashboard/<int:guild_id>")
def user_dashboard(guild_id): def user_dashboard(guild_id):
"""Serverbasiertes User-Dashboard""" """Serverbasiertes User-Dashboard"""