From 3a9dd7b9152ca9b004fbfa6fb9da30faf05c0c87 Mon Sep 17 00:00:00 2001 From: Yaro Kasear Date: Mon, 29 Sep 2025 14:34:15 -0500 Subject: [PATCH] More features for search. --- crudkit/ui/fragments.py | 3 +++ inventory/routes/search.py | 6 ++++-- inventory/templates/search.html | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/crudkit/ui/fragments.py b/crudkit/ui/fragments.py index e60bd1a..c1e771b 100644 --- a/crudkit/ui/fragments.py +++ b/crudkit/ui/fragments.py @@ -840,6 +840,9 @@ def _format_value(val: Any, fmt: Optional[str]) -> Any: if fmt is None: return val try: + if callable(fmt): + return fmt(val) + if fmt == "yesno": return "Yes" if bool(val) else "No" if fmt == "date": diff --git a/inventory/routes/search.py b/inventory/routes/search.py index aae6e00..33d23d2 100644 --- a/inventory/routes/search.py +++ b/inventory/routes/search.py @@ -72,7 +72,8 @@ def init_search_routes(app): "link": {"endpoint": "entry.entry", "params": {"id": "{work_item.id}", "model": "inventory"}}}, {"field": "complete", "format": "yesno"}, {"field": "start_time", "format": "datetime"}, - {"field": "end_time", "format": "datetime"} + {"field": "end_time", "format": "datetime"}, + {"field": "updates", "format": lambda x: len(x)}, ] worklog_results = worklog_service.list({ 'contact.label|work_item.label__icontains': q, @@ -81,7 +82,8 @@ def init_search_routes(app): "work_item.label", "complete", "start_time", - "end_time" + "end_time", + "updates", ] }) diff --git a/inventory/templates/search.html b/inventory/templates/search.html index e9b32dc..7183fbb 100644 --- a/inventory/templates/search.html +++ b/inventory/templates/search.html @@ -2,7 +2,7 @@ {% block main %}
- Search results for "{{ q }}" + Search Results For "{{ q }}"