modified: app.py

modified:   templates/users.html
This commit is contained in:
SimolZimol
2024-09-04 11:15:17 +02:00
parent 91bb5d3e42
commit cd06f94510
2 changed files with 112 additions and 22 deletions

88
app.py
View File

@@ -130,17 +130,101 @@ def settings():
@app.route("/users")
def users():
"""Zeigt eine Liste aller Benutzer aus der Datenbank an."""
"""Zeigt eine Liste aller Benutzer an."""
if "username" in session:
connection = get_db_connection()
cursor = connection.cursor(dictionary=True)
cursor.execute("SELECT * FROM user_data")
cursor.execute("SELECT user_id, username, permission, points, ban FROM user_data")
users = cursor.fetchall()
cursor.close()
connection.close()
return render_template("users.html", users=users)
return redirect(url_for("login"))
@app.route("/ban_user/<int:user_id>")
def ban_user(user_id):
"""Banned einen Benutzer."""
if "username" in session:
connection = get_db_connection()
cursor = connection.cursor()
try:
cursor.execute("UPDATE user_data SET ban = 1 WHERE user_id = %s", (user_id,))
connection.commit()
return redirect(url_for("users"))
except Exception as e:
print(f"Error banning user: {e}")
connection.rollback()
return redirect(url_for("users"))
finally:
cursor.close()
connection.close()
return redirect(url_for("login"))
@app.route("/update_points/<int:user_id>", methods=["POST"])
def update_points(user_id):
"""Aktualisiert die Punkte eines Benutzers."""
if "username" in session:
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", (points_change, user_id))
connection.commit()
return redirect(url_for("users"))
except Exception as e:
print(f"Error updating points: {e}")
connection.rollback()
return redirect(url_for("users"))
finally:
cursor.close()
connection.close()
return redirect(url_for("login"))
@app.route("/unban_user/<int:user_id>")
def unban_user(user_id):
"""Entbannt einen Benutzer."""
if "username" in session:
connection = get_db_connection()
cursor = connection.cursor()
try:
cursor.execute("UPDATE user_data SET ban = 0 WHERE user_id = %s", (user_id,))
connection.commit()
return redirect(url_for("users"))
except Exception as e:
print(f"Error unbanning user: {e}")
connection.rollback()
return redirect(url_for("users"))
finally:
cursor.close()
connection.close()
return redirect(url_for("login"))
@app.route("/update_role/<int:user_id>", methods=["POST"])
def update_role(user_id):
"""Aktualisiert die Rolle (Berechtigung) eines Benutzers."""
if "username" in session:
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", (new_permission, user_id))
connection.commit()
return redirect(url_for("users"))
except Exception as e:
print(f"Error updating role: {e}")
connection.rollback()
return redirect(url_for("users"))
finally:
cursor.close()
connection.close()
return redirect(url_for("login"))
@app.route("/logs")
def view_logs():
"""Zeigt die Logs des Bots im Admin-Panel an."""