improve condition filters

This commit is contained in:
Ross
2023-10-30 09:54:56 +00:00
parent c8ff740f2e
commit c9023917bd
4 changed files with 23 additions and 23 deletions
+18 -3
View File
@@ -25,6 +25,7 @@ def get_authors(request):
return queryset
def get_cases(request):
if request is None:
return Case.objects.none()
@@ -36,6 +37,7 @@ def get_cases(request):
return queryset
def get_series(request):
if request is None:
return Series.objects.none()
@@ -47,6 +49,7 @@ def get_series(request):
return queryset
class CaseCollectionFilter(django_filters.FilterSet):
author = django_filters.ModelMultipleChoiceFilter(
queryset=get_authors, null_label="No author"
@@ -72,12 +75,15 @@ class CaseCollectionFilter(django_filters.FilterSet):
request=None,
):
if not request.user.groups.filter(name="atlas_editor").exists():
queryset = queryset.prefetch_related("author").filter(author__id=request.user.id)
queryset = queryset.prefetch_related("author").filter(
author__id=request.user.id
)
super(CaseCollectionFilter, self).__init__(
data=data, queryset=queryset, prefix=prefix, request=request
)
pass
class CaseFilter(django_filters.FilterSet):
author = django_filters.ModelMultipleChoiceFilter(
queryset=get_authors, null_label="No author"
@@ -111,7 +117,9 @@ class CaseFilter(django_filters.FilterSet):
request=None,
):
if not request.user.groups.filter(name="atlas_editor").exists():
queryset = queryset.prefetch_related("author").filter(author__id=request.user.id)
queryset = queryset.prefetch_related("author").filter(
author__id=request.user.id
)
super(CaseFilter, self).__init__(
data=data, queryset=queryset, prefix=prefix, request=request
)
@@ -151,7 +159,14 @@ class SeriesFilter(django_filters.FilterSet):
class ConditionFilter(django_filters.FilterSet):
class Meta:
model = Condition
fields = {"name": ["contains"], "primary": ["exact"], "synonym": ["exact"], "parent": ["exact"], "subspecialty": ["exact"]}
fields = {
"name": ["icontains"],
"primary": ["exact"],
"synonym": ["exact"],
"parent": ["exact"],
"subspecialty": ["exact"],
"rcr_curriculum": ["exact"],
}
def __init__(
self,
+1 -1
View File
@@ -15,7 +15,7 @@
<div>
<h3>Name: {{condition.name}}</h3>
Primary name: {{condition.primary}}<br />
Synonyms:fyi
Synonyms:
{% for syn in condition.synonym.all %}
<a href="{{syn.get_absolute_url}}">{{syn}}</a>
{% endfor %}<br />
+2 -18
View File
@@ -159,6 +159,7 @@ def get_image_dicom_hash(img, dataset=None) -> (str, bool):
if dataset is None:
dataset = pydicom.dcmread(img)
# TODO: improve?
md5 = hashlib.md5()
first = True
for i in dataset.pixel_array.astype(str).flatten():
@@ -177,24 +178,7 @@ def get_image_hash(img) -> (str, bool):
hash = "1234"
try:
# and generate a hash from the pixel data
# TODO: improve?
dataset = pydicom.dcmread(img)
# flatten = dataset.pixel_array.astype(str).flatten()
# print("flatteded")
# pre_join = ",".join(flatten)
# print(pre_join)
# hash = hashlib.md5(pre_join.encode()).hexdigest()
# ----
md5 = hashlib.md5()
first = True
for i in dataset.pixel_array.astype(str).flatten():
if first:
first = False
md5.update(f"{i}".encode())
else:
md5.update(f",{i}".encode())
hash = md5.hexdigest()
hash = get_image_dicom_hash(img)
is_dicom = True
# ----
+2 -1
View File
@@ -36,4 +36,5 @@ git+https://github.com/jazzband/django-cookie-consent#django-cookie-consent
django-crispy-forms
django-ninja
crispy-bootstrap4
django-rich
django-rich
ipython