This commit is contained in:
+8
-4
@@ -3826,6 +3826,7 @@ def mahnungen_admin():
|
|||||||
return val
|
return val
|
||||||
|
|
||||||
current_time = datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
current_time = datetime.datetime.now(ZoneInfo("Europe/Berlin"))
|
||||||
|
current_time_naive = current_time.replace(tzinfo=None)
|
||||||
client = None
|
client = None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -3836,7 +3837,6 @@ def mahnungen_admin():
|
|||||||
users_col = db['users']
|
users_col = db['users']
|
||||||
student_cards_col = db['student_cards']
|
student_cards_col = db['student_cards']
|
||||||
|
|
||||||
# Überfällige Ausleihen abrufen (Status 'active' und DueDate in der Vergangenheit)
|
|
||||||
overdue_records = list(ausleihungen_col.find({
|
overdue_records = list(ausleihungen_col.find({
|
||||||
'Status': 'active',
|
'Status': 'active',
|
||||||
'DueDate': {'$lt': current_time}
|
'DueDate': {'$lt': current_time}
|
||||||
@@ -3845,7 +3845,6 @@ def mahnungen_admin():
|
|||||||
overdue_list = []
|
overdue_list = []
|
||||||
|
|
||||||
if overdue_records:
|
if overdue_records:
|
||||||
# Bulk-Lookups zur Vermeidung von N+1 Queries
|
|
||||||
item_ids = []
|
item_ids = []
|
||||||
for r in overdue_records:
|
for r in overdue_records:
|
||||||
i_id = r.get('Item')
|
i_id = r.get('Item')
|
||||||
@@ -3883,7 +3882,6 @@ def mahnungen_admin():
|
|||||||
if ausweis_id:
|
if ausweis_id:
|
||||||
class_map[str(ausweis_id).strip().lower()] = dec_cls
|
class_map[str(ausweis_id).strip().lower()] = dec_cls
|
||||||
|
|
||||||
# Datenaufbereitung für das Template
|
|
||||||
for record in overdue_records:
|
for record in overdue_records:
|
||||||
item_id = str(record.get('Item') or '')
|
item_id = str(record.get('Item') or '')
|
||||||
item_doc = item_map.get(item_id, {})
|
item_doc = item_map.get(item_id, {})
|
||||||
@@ -3908,7 +3906,13 @@ def mahnungen_admin():
|
|||||||
)
|
)
|
||||||
|
|
||||||
due_date_obj = record.get('DueDate')
|
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)
|
is_blocked = user_block_map.get(raw_user, False)
|
||||||
|
|
||||||
overdue_list.append({
|
overdue_list.append({
|
||||||
|
|||||||
Reference in New Issue
Block a user