Improve filter handling in inventory listing by adding fallback for unknown users, locations, and items

This commit is contained in:
Yaro Kasear 2025-06-16 08:05:11 -05:00
parent cffdc27724
commit 0a5518d99f
2 changed files with 9 additions and 3 deletions

Binary file not shown.

View file

@ -156,16 +156,22 @@ def list_inventory():
if filter_by and id: if filter_by and id:
column = FILTER_MAP.get(filter_by) column = FILTER_MAP.get(filter_by)
if column is not None: if column is not None:
filter_name = None
if filter_by == 'user': if filter_by == 'user':
filter_name = db.session.query(User).filter(User.id == id).first().full_name user = db.session.query(User).filter(User.id == id).first()
filter_name = user.full_name if user else "Unknown User"
elif filter_by == 'location': elif filter_by == 'location':
filter_name = db.session.query(Room).filter(Room.id == id).first().full_name room = db.session.query(Room).filter(Room.id == id).first()
filter_name = room.full_name if room else "Unknown Location"
else: else:
filter_name = db.session.query(Item).filter(Item.id == id).first().description item = db.session.query(Item).filter(Item.id == id).first()
filter_name = item.description if item else "Unknown Item"
query = query.filter(column == id) query = query.filter(column == id)
else: else:
return "Invalid filter_by parameter", 400 return "Invalid filter_by parameter", 400
return render_paginated_table( return render_paginated_table(
query=query, query=query,
page=page, page=page,