changes to the student Name Processing
This commit is contained in:
+17
-15
@@ -4498,17 +4498,25 @@ def api_item_detail(item_id):
|
||||
else:
|
||||
status_label = 'Verfügbar'
|
||||
|
||||
# Helper function to get borrower display name
|
||||
def get_borrower_name(user_raw):
|
||||
if not user_raw:
|
||||
return ''
|
||||
try:
|
||||
user_doc = student_cards_col.find_one({'_id': ObjectId(user_raw)})
|
||||
if user_doc:
|
||||
if user_doc.get('SchülerName'):
|
||||
return decrypt_text(str(user_doc.get('SchülerName', '')))
|
||||
return str(user_doc.get('AusweisId', ''))
|
||||
except Exception:
|
||||
pass
|
||||
return str(user_raw)
|
||||
|
||||
# Prefer the most recent active borrower across the group
|
||||
borrower_value = ''
|
||||
for rec in borrow_records:
|
||||
if rec.get('Status') == 'active' and rec.get('User'):
|
||||
try:
|
||||
user_raw = rec.get('User')
|
||||
user_doc = student_cards_col.find_one({'_id': ObjectId(user_raw)}) if user_raw else None
|
||||
if user_doc:
|
||||
borrower_value = decrypt_text(str(user_doc.get('SchülerName', ''))) if user_doc.get('SchülerName') else str(user_doc.get('AusweisId', ''))
|
||||
except Exception:
|
||||
borrower_value = str(rec.get('User', ''))
|
||||
borrower_value = get_borrower_name(rec.get('User'))
|
||||
break
|
||||
|
||||
if not borrower_value and item.get('User'):
|
||||
@@ -4531,19 +4539,13 @@ def api_item_detail(item_id):
|
||||
rows = []
|
||||
|
||||
for rec in borrow_records[:3]:
|
||||
try:
|
||||
user_raw = rec.get('User')
|
||||
user = student_cards_col.find_one({'_id': ObjectId(user_raw)}) if user_raw else None
|
||||
if user:
|
||||
borrower_value = decrypt_text(str(user.get('SchülerName', ''))) if user.get('SchülerName') else str(user.get('AusweisId', ''))
|
||||
except Exception:
|
||||
borrower_value = str(rec.get('User', ''))
|
||||
rec_borrower_name = get_borrower_name(rec.get('User')) or '-'
|
||||
status = rec.get('Status', '')
|
||||
start = fmt_dt(rec.get('Start'))
|
||||
end = fmt_dt(rec.get('End'))
|
||||
notes = html.escape(str(rec.get('Notes') or ''))
|
||||
rows.append(
|
||||
f"<li><strong>{html.escape(str(user or '-'))}</strong> — "
|
||||
f"<li><strong>{html.escape(rec_borrower_name)}</strong> — "
|
||||
f"{html.escape(str(status))} — "
|
||||
f"{html.escape(str(start))} → {html.escape(str(end))}"
|
||||
f"{(' — ' + notes) if notes else ''}</li>"
|
||||
|
||||
Reference in New Issue
Block a user