Implement user search functionality with HTMX support for manual user selection in bulk updates

This commit is contained in:
Ross
2025-10-27 14:32:03 +00:00
parent 1c8f862303
commit 668007b899
3 changed files with 101 additions and 105 deletions
+9 -1
View File
@@ -4412,7 +4412,15 @@ def user_search(request):
for u in qs:
results.append({"id": u.pk, "text": f"{u.first_name} {u.last_name} ({u.email})"})
return JsonResponse({"results": results})
# If this is an HTMX request (or a row param was provided) render an HTML fragment
# that can be swapped into the preview row's results container. Otherwise return JSON.
row = request.GET.get("row")
if request.headers.get("HX-Request") == "true" or row is not None:
# Render a small partial that lists results with Select buttons that call
# the setManualUser(row, id, text) function in the parent page.
return render(request, "generic/partials/user_search_results.html", {"results": results, "row": int(row) if row is not None else None})
return JsonResponse({"results": results})
def create_trainee(request, context=None):