Compare commits

...

6 Commits

2 changed files with 12 additions and 5 deletions
+11 -4
View File
@@ -4461,6 +4461,7 @@ def api_item_detail(item_id):
db = client[MONGODB_DB]
ausleihungen_col = db['ausleihungen']
items_col = db['items']
student_cards_col = db['student_cards']
# Determine parent/group id (if this is a child, use its ParentItemId)
parent_id = str(item.get('ParentItemId') or str(item.get('_id')))
@@ -4503,8 +4504,9 @@ def api_item_detail(item_id):
if rec.get('Status') == 'active' and rec.get('User'):
try:
user_raw = rec.get('User')
if user_raw is not None:
borrower_value = decrypt_text(str(user_raw))
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', ''))
break
@@ -4530,10 +4532,15 @@ def api_item_detail(item_id):
for rec in borrow_records[:3]:
user_raw = rec.get('User')
app.logger.debug(f"Processing borrow record: {rec}")
user_doc = student_cards_col.find_one({'_id': ObjectId(user_raw.get('User', ''))}) if user_raw else None
app.logger.debug(f"Found user_doc: {user_doc}")
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', ''))
try:
user = decrypt_text(user_raw) if user_raw is not None else ''
user = user_doc if user_doc is not None else ''
except Exception:
user = user_raw
user = user_doc
status = rec.get('Status', '')
start = fmt_dt(rec.get('Start'))
end = fmt_dt(rec.get('End'))
+1 -1
View File
@@ -697,7 +697,7 @@ def get_user_by_student_card(student_card_id):
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
db = _get_tenant_db(client)
users = db['student_cards']
found_user = users.find_one({'SchülerName': normalized})
found_user = users.find_one({'AusweisId': normalized})
client.close()
# Do not call dp.decrypt_text() here because found_user is a MongoDB dictionary.