improve condition filters
This commit is contained in:
+18
-3
@@ -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,
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
Reference in New Issue
Block a user