Refactor case search functionality to include additional fields for improved search accuracy

This commit is contained in:
Ross
2025-11-05 21:58:43 +00:00
parent 06df2c4188
commit 22299b9298
2 changed files with 18 additions and 16 deletions
+15 -15
View File
@@ -10,21 +10,6 @@
<div class="row"> <div class="row">
<div class="col-12 col-md-8"> <div class="col-12 col-md-8">
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">Search cases</h5>
<div class="mb-2">
<input class="form-control" id="case-search-input" name="q" type="search"
placeholder="Search cases by title or description"
hx-get="{% url 'atlas:case_search_partial' %}"
hx-trigger="input changed delay:500ms, keyup[key=='Enter']"
hx-target="#case-search-results" >
</div>
<div id="case-search-results">
{% include 'atlas/partials/_case_search_results.html' with cases=None %}
</div>
</div>
</div>
<div class="card mb-3"> <div class="card mb-3">
<div class="card-body"> <div class="card-body">
<h5 class="card-title">Collections</h5> <h5 class="card-title">Collections</h5>
@@ -57,6 +42,21 @@
</ul> </ul>
</div> </div>
</div> </div>
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">Search cases</h5>
<div class="mb-2">
<input class="form-control" id="case-search-input" name="q" type="search"
placeholder="Search cases by title or description"
hx-get="{% url 'atlas:case_search_partial' %}"
hx-trigger="input changed delay:500ms, keyup[key=='Enter']"
hx-target="#case-search-results" >
</div>
<div id="case-search-results">
{% include 'atlas/partials/_case_search_results.html' with cases=None %}
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
+3 -1
View File
@@ -212,7 +212,9 @@ def case_search_partial(request):
| Q(presentation__name__icontains=q) | Q(presentation__name__icontains=q)
| Q(subspecialty__name__icontains=q) | Q(subspecialty__name__icontains=q)
| Q(series__description__icontains=q) | Q(series__description__icontains=q)
| Q(series__modality__icontains=q) # Series.modality is a FK to generic.Modality; search its text field
| Q(series__modality__modality__icontains=q)
| Q(series__examination__examination__icontains=q)
| Q(author__first_name__icontains=q) | Q(author__first_name__icontains=q)
| Q(author__last_name__icontains=q) | Q(author__last_name__icontains=q)
| Q(author__username__icontains=q) | Q(author__username__icontains=q)