changes to the Bibliotheks system ame Displayment

This commit is contained in:
2026-11-02 14:03:45 +01:00
parent 5c4ab6f0fc
commit 1a32a078bc
2 changed files with 28 additions and 1 deletions
+3 -1
View File
@@ -167,6 +167,8 @@ def _display_username(user_value):
user_doc = us.get_user_by_id(raw_value)
if not user_doc:
user_doc = us.get_user_by_student_card(raw_value)
if not user_doc:
user_doc = us.get_user_by_student_card_record_id(raw_value)
if user_doc:
return str(user_doc.get('Username') or user_doc.get('username') or raw_value)
@@ -3573,7 +3575,7 @@ def library_loans_admin():
fmt_reports, fmt_repairs = format_damage_history(raw_reports, raw_repairs)
raw_user = record.get('User', '')
decrypted_user = safe_decrypt(raw_user)
decrypted_user = _display_username(raw_user)
user_class = (
safe_decrypt(record.get('Klasse'))
+25
View File
@@ -707,6 +707,31 @@ def get_user_by_student_card(student_card_id):
finally:
client.close()
def get_user_by_student_card_record_id(card_id):
"""Return the user assigned to a student-card document ID."""
if card_id is None:
return None
client = MongoClient(cfg.MONGODB_HOST, cfg.MONGODB_PORT)
try:
db = _get_tenant_db(client)
card = None
if isinstance(card_id, ObjectId):
card = db['student_cards'].find_one({'_id': card_id})
elif ObjectId.is_valid(str(card_id)):
card = db['student_cards'].find_one({'_id': ObjectId(str(card_id))})
if not card:
return None
card_id_value = normalize_student_card_id(card.get('AusweisId'))
if not card_id_value:
return None
return db['users'].find_one({'StudentCardId': card_id_value})
finally:
client.close()
def get_user_by_student_ident(student_ident):
"""Return user dict by student ident by decrypting all cards and matching."""
if not student_ident: