diff --git a/Web/app.py b/Web/app.py index 3558f9f..9bbbd25 100755 --- a/Web/app.py +++ b/Web/app.py @@ -5918,6 +5918,11 @@ def get_bookings(): result = [] for booking in bookings: + raw_booking_user = booking.get('User') or '' + try: + booking_user = decrypt_text(raw_booking_user) if raw_booking_user else '' + except Exception: + booking_user = str(raw_booking_user) start_dt = booking.get('Start') if not start_dt: continue @@ -5960,10 +5965,10 @@ def get_bookings(): 'end': end_dt.isoformat() if isinstance(end_dt, datetime.datetime) else str(end_dt), 'status': status, 'itemId': item_id, - 'userName': str(booking.get('User') or ''), + 'userName': str(booking_user), 'notes': str(booking.get('Notes') or ''), 'period': period, - 'isCurrentUser': str(booking.get('User') or '') == username, + 'isCurrentUser': str(booking_user) == username, 'itemBorrower': item_borrower, }) @@ -7911,9 +7916,14 @@ def get_planned_bookings(item_id): cursor = ausleihungen.find({'Item': item_id, 'Status': 'planned'}).sort('Start', 1) bookings = [] for r in cursor: + raw_user = r.get('User') or '' + try: + booking_user = decrypt_text(raw_user) if raw_user else '' + except Exception: + booking_user = str(raw_user) bookings.append({ 'id': str(r.get('_id')), - 'user': r.get('User', ''), + 'user': booking_user, 'period': r.get('Period'), 'start': r.get('Start').isoformat() if r.get('Start') else None, 'end': r.get('End').isoformat() if r.get('End') else None, @@ -7940,7 +7950,13 @@ def get_planned_bookings_public(item_id): cursor = ausleihungen.find({'Item': item_id, 'Status': 'planned'}).sort('Start', 1) bookings = [] for r in cursor: + raw_user = r.get('User') or '' + try: + booking_user = decrypt_text(raw_user) if raw_user else '' + except Exception: + booking_user = str(raw_user) bookings.append({ + 'user': booking_user, 'period': r.get('Period'), 'start': r.get('Start').isoformat() if r.get('Start') else None, 'end': r.get('End').isoformat() if r.get('End') else None @@ -12311,7 +12327,11 @@ def cancel_ausleihung_route(id): # Log ausleihung details for debugging ausleihung_status = ausleihung.get('Status', 'unknown') - ausleihung_user = ausleihung.get('User', 'unknown') + raw_ausleihung_user = ausleihung.get('User', '') + try: + ausleihung_user = decrypt_text(raw_ausleihung_user) if raw_ausleihung_user else '' + except Exception: + ausleihung_user = str(raw_ausleihung_user or '') print(f"Found ausleihung: ID={id}, Status={ausleihung_status}") current_permissions = us.get_effective_permissions(session['username']) diff --git a/Web/templates/main_admin.html b/Web/templates/main_admin.html index 3df2731..ff3bf0d 100755 --- a/Web/templates/main_admin.html +++ b/Web/templates/main_admin.html @@ -4063,21 +4063,29 @@ document.addEventListener('DOMContentLoaded', ()=>{ const badgeText = entry.type === 'repair' ? 'Repariert' : 'Schaden'; const metaLine = entry.meta ? `
${escapeHtml(entry.meta)}
` : ''; return ` -
-
- ${badgeText} - ${entry.dateLabel} +
+
+ ${badgeText} +
-
Von: ${entry.actor}
-
${entry.description}
- ${metaLine} +
Von${entry.actor}
+
${entry.description}
+ ${entry.meta ? `
${escapeHtml(entry.meta)}
` : ''}
`; }).join('') : '
Keine Beschädigungs-Historie vorhanden.
'; modalContent.innerHTML = ` -

${escapeHtml(item.Name || '')}

+
+
+ Objektdetails +

${escapeHtml(item.Name || '')}

+
+ + ${isBorrowed ? 'Ausgeliehen' : 'Verfügbar'} + +
${borrowerInfoHtml} ${appointmentInfoHtml} @@ -4090,7 +4098,7 @@ document.addEventListener('DOMContentLoaded', ()=>{ ` : ''}
-