modified: app.py

modified:   templates/edit_user.html
This commit is contained in:
SimolZimol
2024-10-29 12:18:33 +01:00
parent 24465304fa
commit 8e58c8dca9
2 changed files with 39 additions and 4 deletions

23
app.py
View File

@@ -323,21 +323,36 @@ def edit_user(guild_id, user_id):
connection = get_db_connection()
cursor = connection.cursor(dictionary=True)
# Hole die Berechtigungen des aktuellen Admins
admin_user_id = session["discord_user"]["id"]
cursor.execute("SELECT permission FROM user_data WHERE guild_id = %s AND user_id = %s", (guild_id, admin_user_id))
admin_data = cursor.fetchone()
max_permission = admin_data["permission"] if admin_data else 0
if request.method == "POST":
points = int(request.form.get("points", 0))
level = int(request.form.get("level", 1))
ban = int(request.form.get("ban", 0))
permission = int(request.form.get("permission", 0))
askmultus = int(request.form.get("askmultus", 0))
filter_value = int(request.form.get("filter_value", 0))
rank = request.form.get("rank", "")
xp = int(request.form.get("xp", 0))
# Validierung der Berechtigungen
if permission > max_permission:
flash("You cannot assign a permission level higher than your own.", "danger")
return redirect(url_for("edit_user", guild_id=guild_id, user_id=user_id))
# Update der Benutzerdaten
cursor.execute("""
UPDATE user_data
SET points = %s, level = %s, ban = %s
SET points = %s, level = %s, ban = %s, permission = %s, askmultus = %s, filter_value = %s, rank = %s, xp = %s
WHERE guild_id = %s AND user_id = %s
""", (points, level, ban, guild_id, user_id))
""", (points, level, ban, permission, askmultus, filter_value, rank, xp, guild_id, user_id))
connection.commit()
flash("User data updated successfully!", "success")
# Nach dem Speichern zum server_admin_dashboard weiterleiten
return redirect(url_for("server_admin_dashboard", guild_id=guild_id))
# Daten des spezifischen Benutzers laden
@@ -347,7 +362,7 @@ def edit_user(guild_id, user_id):
cursor.close()
connection.close()
return render_template("edit_user.html", user_data=user_data, guild_id=guild_id)
return render_template("edit_user.html", user_data=user_data, guild_id=guild_id, max_permission=max_permission)
return redirect(url_for("landing_page"))

View File

@@ -19,6 +19,26 @@
<label for="level">Level</label>
<input type="number" class="form-control" id="level" name="level" value="{{ user_data.level }}" required>
</div>
<div class="form-group">
<label for="permission">Permission Level</label>
<input type="number" class="form-control" id="permission" name="permission" min="0" max="{{ max_permission }}" value="{{ user_data.permission }}" required>
</div>
<div class="form-group">
<label for="askmultus">AskMultus Executions</label>
<input type="number" class="form-control" id="askmultus" name="askmultus" value="{{ user_data.askmultus }}" required>
</div>
<div class="form-group">
<label for="filter_value">Filter Value (e.g., Warnings)</label>
<input type="number" class="form-control" id="filter_value" name="filter_value" value="{{ user_data.filter_value }}" required>
</div>
<div class="form-group">
<label for="rank">Rank (for Minecraft Integration)</label>
<input type="text" class="form-control" id="rank" name="rank" value="{{ user_data.rank }}">
</div>
<div class="form-group">
<label for="xp">XP</label>
<input type="number" class="form-control" id="xp" name="xp" value="{{ user_data.xp }}" required>
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="ban" name="ban" value="1" {% if user_data.ban %}checked{% endif %}>
<label class="form-check-label" for="ban">Ban User</label>