diff --git a/AstraOS/Bots/.gitkeep b/AstraOS/Bots/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/AstraOS/Frontend/HTML/view_user_age_details.html b/AstraOS/Frontend/HTML/view_user_age_details.html
index 435b71c..024e574 100644
--- a/AstraOS/Frontend/HTML/view_user_age_details.html
+++ b/AstraOS/Frontend/HTML/view_user_age_details.html
@@ -60,11 +60,13 @@
{% endif %}
+ {% if user.checked_by == session.username or 'manage_age_verification' in session.permissions %}
+ {% endif %}
diff --git a/AstraOS/astra_os.py b/AstraOS/astra_os.py
index 805bf9b..01ad146 100644
--- a/AstraOS/astra_os.py
+++ b/AstraOS/astra_os.py
@@ -74,7 +74,8 @@ try:
"bypass_maintenance",
"manage_discord_bots",
"view_ip_analyzer",
- "view_age_verification"
+ "view_age_verification",
+ "manage_age_verification"
]
if roles_collection.count_documents({}) == 0:
print("WARNUNG: Keine Rollen in der Datenbank gefunden. Erstelle Standard-Rollen...")
@@ -753,7 +754,6 @@ def age_verification():
result=result,
users=users,
search_query=search_query)
-
@app.route('/age_verification/')
@login_required
@permission_required('view_age_verification')
@@ -781,15 +781,30 @@ def view_user_age_details(user_id):
active_page='age_verification',
user=user,
result=result)
-
@app.route('/age_verification/delete/', methods=['POST'])
@login_required
@permission_required('view_age_verification')
def delete_age_verification(user_id):
+ entry = age_verification_collection.find_one({'_id': ObjectId(user_id)})
+ if not entry:
+ flash("Eintrag nicht gefunden.", "danger")
+ return redirect(url_for('age_verification'))
+
+ can_delete = False
+ # Benutzer mit 'manage_age_verification' können immer löschen
+ if 'manage_age_verification' in session.get('permissions', []):
+ can_delete = True
+ # Benutzer können ihre eigenen Einträge immer löschen
+ elif entry.get('checked_by') == session.get('username'):
+ can_delete = True
+
+ if not can_delete:
+ flash("Sie haben keine Berechtigung, diesen Eintrag zu löschen.", "danger")
+ return redirect(url_for('view_user_age_details', user_id=user_id))
+
age_verification_collection.delete_one({'_id': ObjectId(user_id)})
flash("Eintrag zur Altersüberprüfung wurde gelöscht.", "success")
return redirect(url_for('age_verification'))
-
@app.route('/ip_analyzer', methods=['GET', 'POST'])
@login_required
@permission_required('view_ip_analyzer')