Add admin feature to search uploads by pixel hash and corresponding template

This commit is contained in:
Ross
2026-03-18 19:38:20 +00:00
parent 70602e6f71
commit d00a7f9cf6
4 changed files with 118 additions and 0 deletions
+25
View File
@@ -2012,6 +2012,31 @@ def all_uploads(request, case_id: int | None = None):
return user_uploads(request, case_id, user_only=False)
@staff_member_required
def uploads_hash_search(request):
query = (request.GET.get("hash") or "").strip().lower()
dicoms = UncategorisedDicom.objects.none()
if query:
dicoms = UncategorisedDicom.objects.filter(
image_blake3_hash__icontains=query
).select_related("user", "series").order_by("-created_date")
paginator = Paginator(dicoms, 50)
page_number = request.GET.get("page")
page_obj = paginator.get_page(page_number)
return render(
request,
"atlas/uploads_hash_search.html",
{
"hash_query": query,
"page_obj": page_obj,
"result_count": paginator.count,
},
)
@user_passes_test(lambda u: u.is_superuser)
def other_user_uploads(request, user_pk: int, case_id: int | None = None):
return user_uploads(request, case_id, user_only=False, user_pk=user_pk)