diff --git a/__pycache__/routes.cpython-313.pyc b/__pycache__/routes.cpython-313.pyc index 3f71c2b..99ddc62 100644 Binary files a/__pycache__/routes.cpython-313.pyc and b/__pycache__/routes.cpython-313.pyc differ diff --git a/routes.py b/routes.py index f7a6434..0999a5d 100644 --- a/routes.py +++ b/routes.py @@ -107,6 +107,7 @@ def render_paginated_table( row_fn: Callable[[Any], List[dict]], endpoint: str, per_page=15, + breadcrumb=[], extra_args={} ): data = make_paginated_data(query, page, per_page) @@ -122,6 +123,7 @@ def render_paginated_table( total_pages=data['total_pages'], headers=headers, entry_route=entry_route, + breadcrumb=breadcrumb, extra_args=extra_args ) @@ -144,6 +146,8 @@ def list_inventory(): filter_by = request.args.get('filter_by', type=str) id = request.args.get('id', type=int) + filter_name = None + query = db.session.query(Inventory) query = eager_load_inventory_relationships(query) query = query.order_by(Inventory.inventory_name, Inventory.barcode, Inventory.serial) @@ -151,6 +155,12 @@ def list_inventory(): if filter_by and id: column = FILTER_MAP.get(filter_by) if column is not None: + if filter_by == 'user': + filter_name = db.session.query(User).filter(User.id == id).first().full_name + elif filter_by == 'room': + filter_name = db.session.query(Room).filter(Room.id == id).first().full_name + else: + filter_name = db.session.query(Brand).filter(Brand.id == id).first().name query = query.filter(column == id) else: return "Invalid filter_by parameter", 400 @@ -158,11 +168,12 @@ def list_inventory(): return render_paginated_table( query=query, page=page, - title="Inventory (Filtered)" if filter_by else "Inventory", + title=f"Inventory ({filter_name})" if filter_by else "Inventory", headers=inventory_headers, row_fn=lambda i: [fn(i) for fn in inventory_headers.values()], endpoint="main.list_inventory", entry_route="inventory_item", + breadcrumb=[{'label': 'Inventory', 'url': url_for('main.inventory_index')}], extra_args={'filter_by': filter_by, 'id': id} ) diff --git a/templates/table.html b/templates/table.html index 472245b..4a1ec7c 100644 --- a/templates/table.html +++ b/templates/table.html @@ -9,7 +9,8 @@ {% block content %} {{ breadcrumbs.breadcrumb_header( - title=title + title=title, + breadcrumbs=breadcrumb ) }} {{ tables.render_table(header, rows, entry_route) }}