This commit is contained in:
Ross
2021-04-28 10:49:19 +01:00
parent 7a3e02deac
commit 19e9f160f1
4 changed files with 59 additions and 32 deletions
+29 -12
View File
@@ -1,10 +1,36 @@
import django_filters
from .models import AnatomyQuestion, CidUserAnswer
from .models import AnatomyQuestion, CidUserAnswer, Exam
#from generic.filters import UserAnswerFilter
def get_exams(request):
if request is None:
return Exam.objects.none()
if not request.user.groups.filter(name="anatomy_checker").exists():
queryset = Exam.objects.filter(author__id=request.user.id)
else:
queryset = Exam.objects.all()
return queryset
class AnatomyQuestionFilter(django_filters.FilterSet):
exams = django_filters.ModelMultipleChoiceFilter(queryset=get_exams)
class Meta:
model = AnatomyQuestion
fields = ("question_type"
"examination",
"modality", "region",
"body_part", "created_date", "open_access", "author")
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
if not request.user.groups.filter(name="anatomy_checker").exists():
queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id)
super(AnatomyQuestionFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass
class AnatomyUserAnswerFilter(django_filters.FilterSet):
class Meta:
model= CidUserAnswer
@@ -18,17 +44,8 @@ class AnatomyUserAnswerFilter(django_filters.FilterSet):
"updated",
)
class AnatomyQuestionFilter(django_filters.FilterSet):
class Meta:
model = AnatomyQuestion
fields = ("question_type", "exams",
"examination",
"modality", "region",
"body_part", "created_date", "open_access", "author")
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
if not request.user.groups.filter(name="anatomy_checker").exists():
if not request.user.groups.filter(name="rapid_checker").exists():
queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id)
super(AnatomyQuestionFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
super(AnatomyUserAnswerFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass