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,