From 9b5d3cdc58994ac62125e25ab46bfb2f1fc271bc Mon Sep 17 00:00:00 2001 From: MrWhiff Date: Thu, 11 Dec 2025 16:38:59 +0100 Subject: [PATCH] =?UTF-8?q?AstraOS=20Ver.=201.9.3:=20-=20Age=20Verificatio?= =?UTF-8?q?n=20l=C3=B6schen=20hinzugef=C3=BCgt=20abge=C3=A4ndert=20-=20Bot?= =?UTF-8?q?s=20directory=20weg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AstraOS/Bots/.gitkeep | 0 .../Frontend/HTML/view_user_age_details.html | 2 ++ AstraOS/astra_os.py | 23 +++++++++++++++---- 3 files changed, 21 insertions(+), 4 deletions(-) delete mode 100644 AstraOS/Bots/.gitkeep 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')