This commit is contained in:
Ross
2022-03-29 22:26:41 +01:00
parent 926634395a
commit 7704132897
3 changed files with 35 additions and 4 deletions
+28 -2
View File
@@ -24,11 +24,35 @@ def get_authors(request):
return queryset
def get_cases(request):
if request is None:
return Case.objects.none()
if not request.user.groups.filter(name="atlas_editor").exists():
queryset = Case.objects.filter(author__id=request.user.id)
else:
queryset = Case.objects.all()
return queryset
def get_series(request):
if request is None:
return Series.objects.none()
if not request.user.groups.filter(name="atlas_editor").exists():
queryset = Series.objects.filter(author__id=request.user.id)
else:
queryset = Series.objects.all()
return queryset
class CaseFilter(django_filters.FilterSet):
author = django_filters.ModelMultipleChoiceFilter(
queryset=get_authors, null_label="No author"
)
series = django_filters.ModelMultipleChoiceFilter(
queryset=get_series, null_label="No series"
)
differential_case = django_filters.ModelMultipleChoiceFilter(
label="Differential",
field_name="differentialcase__condition",
@@ -55,7 +79,6 @@ class CaseFilter(django_filters.FilterSet):
request=None,
):
if not request.user.groups.filter(name="atlas_editor").exists():
# queryset = queryset.filter(open_access=True) | queryset.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
@@ -65,7 +88,10 @@ class CaseFilter(django_filters.FilterSet):
class SeriesFilter(django_filters.FilterSet):
case = django_filters.ModelMultipleChoiceFilter(
queryset=Case.objects.all(), null_label="No case"
queryset=get_cases, null_label="No case"
)
author = django_filters.ModelMultipleChoiceFilter(
queryset=get_authors, null_label="No author"
)
class Meta: