Add filters for condition, structure, finding, and presentation to QuestionFilter
This commit is contained in:
+23
-1
@@ -1,6 +1,8 @@
|
|||||||
import django_filters
|
import django_filters
|
||||||
|
from dal import autocomplete
|
||||||
|
|
||||||
from .models import Category, Question, UserAnswer, Exam
|
from .models import Category, Question, UserAnswer, Exam
|
||||||
|
from atlas.models import Condition, Structure, Finding, Presentation
|
||||||
|
|
||||||
#from generic.filters import UserAnswerFilter
|
#from generic.filters import UserAnswerFilter
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
@@ -33,9 +35,29 @@ class QuestionFilter(django_filters.FilterSet):
|
|||||||
exams = django_filters.ModelMultipleChoiceFilter(queryset=get_exams, null_label="No exam")
|
exams = django_filters.ModelMultipleChoiceFilter(queryset=get_exams, null_label="No exam")
|
||||||
author = django_filters.ModelMultipleChoiceFilter(queryset=get_authors, null_label="No author")
|
author = django_filters.ModelMultipleChoiceFilter(queryset=get_authors, null_label="No author")
|
||||||
category = django_filters.ModelChoiceFilter(queryset=Category.objects.all(),null_label="Uncategorised")
|
category = django_filters.ModelChoiceFilter(queryset=Category.objects.all(),null_label="Uncategorised")
|
||||||
|
condition = django_filters.ModelMultipleChoiceFilter(
|
||||||
|
queryset=Condition.objects.all(),
|
||||||
|
widget=autocomplete.ModelSelect2Multiple(url='atlas:condition-autocomplete'),
|
||||||
|
label='Condition',
|
||||||
|
)
|
||||||
|
structure = django_filters.ModelMultipleChoiceFilter(
|
||||||
|
queryset=Structure.objects.all(),
|
||||||
|
widget=autocomplete.ModelSelect2Multiple(url='atlas:structure-autocomplete'),
|
||||||
|
label='Structure',
|
||||||
|
)
|
||||||
|
finding = django_filters.ModelMultipleChoiceFilter(
|
||||||
|
queryset=Finding.objects.all(),
|
||||||
|
widget=autocomplete.ModelSelect2Multiple(url='atlas:finding-autocomplete'),
|
||||||
|
label='Finding',
|
||||||
|
)
|
||||||
|
presentation = django_filters.ModelMultipleChoiceFilter(
|
||||||
|
queryset=Presentation.objects.all(),
|
||||||
|
widget=autocomplete.ModelSelect2Multiple(url='atlas:presentation-autocomplete'),
|
||||||
|
label='Presentation',
|
||||||
|
)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Question
|
model = Question
|
||||||
fields = ("exams", "created_date")
|
fields = ("exams", "created_date", "condition", "structure", "finding", "presentation")
|
||||||
|
|
||||||
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
|
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
|
||||||
if not request.user.groups.filter(name="sba_checker").exists():
|
if not request.user.groups.filter(name="sba_checker").exists():
|
||||||
|
|||||||
Reference in New Issue
Block a user