This commit is contained in:
Ross
2022-03-01 18:24:16 +00:00
parent ab2b29eebd
commit 576113a812
3 changed files with 30 additions and 8 deletions
+18 -5
View File
@@ -27,6 +27,7 @@ from django.forms.widgets import RadioSelect, TextInput, Textarea
from dal import autocomplete from dal import autocomplete
class AnatomyAnswerForm(ModelForm): class AnatomyAnswerForm(ModelForm):
class Meta: class Meta:
model = CidUserAnswer model = CidUserAnswer
@@ -56,7 +57,9 @@ class AnatomyQuestionForm(ModelForm):
js = ["jsi18n.js", "tesseract.min.js"] js = ["jsi18n.js", "tesseract.min.js"]
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.user = kwargs.pop('user') # To get request.user. Do not use kwargs.pop('user', None) due to potential security hole self.user = kwargs.pop(
"user"
) # To get request.user. Do not use kwargs.pop('user', None) due to potential security hole
if kwargs.get("instance"): if kwargs.get("instance"):
# We get the 'initial' keyword argument or initialize it # We get the 'initial' keyword argument or initialize it
# as a dict if it didn't exist. # as a dict if it didn't exist.
@@ -99,7 +102,9 @@ class AnatomyQuestionForm(ModelForm):
if self.user.groups.filter(name="anatomy_checker").exists(): if self.user.groups.filter(name="anatomy_checker").exists():
exam_queryset = Exam.objects.all() exam_queryset = Exam.objects.all()
else: else:
exam_queryset = Exam.objects.filter(author__id=self.user.id) | Exam.objects.filter(open_access=True) exam_queryset = Exam.objects.filter(
author__id=self.user.id
) | Exam.objects.filter(open_access=True)
self.fields["exams"] = ModelMultipleChoiceField( self.fields["exams"] = ModelMultipleChoiceField(
required=False, required=False,
@@ -107,7 +112,6 @@ class AnatomyQuestionForm(ModelForm):
widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False),
) )
def save(self, commit=True): def save(self, commit=True):
# Get the unsaved Pizza instance # Get the unsaved Pizza instance
instance = ModelForm.save(self, False) instance = ModelForm.save(self, False)
@@ -143,7 +147,7 @@ class AnatomyQuestionForm(ModelForm):
] ]
widgets = { widgets = {
"structure" : autocomplete.ModelSelect2(url='anatomy:structure-autocomplete') "structure": autocomplete.ModelSelect2(url="anatomy:structure-autocomplete")
} }
@@ -195,7 +199,16 @@ class BodyPartForm(ModelForm):
model = BodyPart model = BodyPart
fields = ["bodypart"] fields = ["bodypart"]
class ExamForm(ModelForm): class ExamForm(ModelForm):
class Meta: class Meta:
model = Exam model = Exam
fields = ["name", "time_limit", "open_access", "exam_mode", "active", "archive"] fields = [
"name",
"time_limit",
"open_access",
"exam_mode",
"active",
"publish_results",
"archive",
]
+1
View File
@@ -279,6 +279,7 @@ class ExamForm(ModelForm):
"open_access", "open_access",
"exam_mode", "exam_mode",
"active", "active",
"publish_results",
"double_mark", "double_mark",
"archive", "archive",
] ]
+9 -1
View File
@@ -228,4 +228,12 @@ AnswerUpdateFormSet = inlineformset_factory(
class ExamForm(ModelForm): class ExamForm(ModelForm):
class Meta: class Meta:
model = Exam model = Exam
fields = ["name", "time_limit", "open_access", "exam_mode", "active", "archive"] fields = [
"name",
"time_limit",
"open_access",
"exam_mode",
"active",
"publish_results",
"archive",
]