From ffab9b7fdf68cb76b4550bcc52b40502c0c2cfed Mon Sep 17 00:00:00 2001 From: AIIrondev Date: Sun, 23 Aug 2026 17:42:12 +0200 Subject: [PATCH] changes to the mahnungen_admin --- Web/app.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Web/app.py b/Web/app.py index 6d38621..3585e3b 100755 --- a/Web/app.py +++ b/Web/app.py @@ -3826,6 +3826,7 @@ def mahnungen_admin(): return val current_time = datetime.datetime.now(ZoneInfo("Europe/Berlin")) + current_time_naive = current_time.replace(tzinfo=None) client = None try: @@ -3836,7 +3837,6 @@ def mahnungen_admin(): users_col = db['users'] student_cards_col = db['student_cards'] - # Überfällige Ausleihen abrufen (Status 'active' und DueDate in der Vergangenheit) overdue_records = list(ausleihungen_col.find({ 'Status': 'active', 'DueDate': {'$lt': current_time} @@ -3845,7 +3845,6 @@ def mahnungen_admin(): overdue_list = [] if overdue_records: - # Bulk-Lookups zur Vermeidung von N+1 Queries item_ids = [] for r in overdue_records: i_id = r.get('Item') @@ -3883,7 +3882,6 @@ def mahnungen_admin(): if ausweis_id: class_map[str(ausweis_id).strip().lower()] = dec_cls - # Datenaufbereitung für das Template for record in overdue_records: item_id = str(record.get('Item') or '') item_doc = item_map.get(item_id, {}) @@ -3908,7 +3906,13 @@ def mahnungen_admin(): ) due_date_obj = record.get('DueDate') - days_overdue = (current_time - due_date_obj).days if due_date_obj else 0 + + if due_date_obj: + due_date_naive = due_date_obj.replace(tzinfo=None) if due_date_obj.tzinfo else due_date_obj + days_overdue = (current_time_naive - due_date_naive).days + else: + days_overdue = 0 + is_blocked = user_block_map.get(raw_user, False) overdue_list.append({