.
This commit is contained in:
+20
-7
@@ -12,7 +12,7 @@ from .models import (
|
|||||||
Answer,
|
Answer,
|
||||||
CidUserAnswer,
|
CidUserAnswer,
|
||||||
AnatomyQuestion,
|
AnatomyQuestion,
|
||||||
#Examination,
|
# Examination,
|
||||||
BodyPart,
|
BodyPart,
|
||||||
Structure,
|
Structure,
|
||||||
Region,
|
Region,
|
||||||
@@ -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
|
||||||
@@ -42,7 +43,7 @@ class MarkAnatomyQuestionForm(Form):
|
|||||||
|
|
||||||
class AnatomyQuestionForm(ModelForm):
|
class AnatomyQuestionForm(ModelForm):
|
||||||
|
|
||||||
#exams = ModelMultipleChoiceField(required=False, queryset=Exam.objects.all())
|
# exams = ModelMultipleChoiceField(required=False, queryset=Exam.objects.all())
|
||||||
|
|
||||||
class Media:
|
class Media:
|
||||||
# Django also includes a few javascript files necessary
|
# Django also includes a few javascript files necessary
|
||||||
@@ -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",
|
||||||
|
]
|
||||||
|
|||||||
@@ -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
@@ -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",
|
||||||
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user