modified: app.py
modified: templates/edit_user.html
This commit is contained in:
23
app.py
23
app.py
@@ -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"))
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user