Add admin feature to search uploads by pixel hash and corresponding template
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user