Add Shorts exam models and integrate into UserGroupExamForm and ExamViews
This commit is contained in:
@@ -54,6 +54,10 @@ from rapids.models import Exam as RapidsExam
|
|||||||
from rapids.models import Rapid
|
from rapids.models import Rapid
|
||||||
from rapids.models import Answer as RapidAnswer
|
from rapids.models import Answer as RapidAnswer
|
||||||
|
|
||||||
|
from shorts.models import UserAnswer as ShortsUserAnswer
|
||||||
|
from shorts.models import Exam as ShortsExam
|
||||||
|
from shorts.models import Question as ShortsQuestion
|
||||||
|
|
||||||
from longs.models import UserAnswer as LongsUserAnswer
|
from longs.models import UserAnswer as LongsUserAnswer
|
||||||
from longs.models import Exam as LongsExam
|
from longs.models import Exam as LongsExam
|
||||||
from longs.models import Long
|
from longs.models import Long
|
||||||
@@ -497,6 +501,7 @@ class UserGroupExamForm(ModelForm):
|
|||||||
GROUP_TYPES = [
|
GROUP_TYPES = [
|
||||||
"anatomy_user_user_groups",
|
"anatomy_user_user_groups",
|
||||||
"rapid_user_user_groups",
|
"rapid_user_user_groups",
|
||||||
|
"shorts_user_user_groups",
|
||||||
"longs_user_user_groups",
|
"longs_user_user_groups",
|
||||||
"physics_user_user_groups",
|
"physics_user_user_groups",
|
||||||
"sba_user_user_groups",
|
"sba_user_user_groups",
|
||||||
@@ -537,6 +542,11 @@ class UserGroupExamForm(ModelForm):
|
|||||||
queryset=RapidsExam.objects.filter(archive=False),
|
queryset=RapidsExam.objects.filter(archive=False),
|
||||||
widget=FilteredSelectMultiple(verbose_name="Rapid Exams", is_stacked=False),
|
widget=FilteredSelectMultiple(verbose_name="Rapid Exams", is_stacked=False),
|
||||||
)
|
)
|
||||||
|
self.fields["shorts_user_user_groups"] = ModelMultipleChoiceField(
|
||||||
|
required=False,
|
||||||
|
queryset=ShortsExam.objects.filter(archive=False),
|
||||||
|
widget=FilteredSelectMultiple(verbose_name="Shorts Exams", is_stacked=False),
|
||||||
|
)
|
||||||
self.fields["longs_user_user_groups"] = ModelMultipleChoiceField(
|
self.fields["longs_user_user_groups"] = ModelMultipleChoiceField(
|
||||||
required=False,
|
required=False,
|
||||||
queryset=LongsExam.objects.filter(archive=False),
|
queryset=LongsExam.objects.filter(archive=False),
|
||||||
|
|||||||
@@ -848,6 +848,7 @@ class ExamViews(View, LoginRequiredMixin):
|
|||||||
author__id=request.user.id, exam_mode=True
|
author__id=request.user.id, exam_mode=True
|
||||||
).order_by("name")
|
).order_by("name")
|
||||||
|
|
||||||
|
|
||||||
exam_list = exam_list | self.Exam.objects.filter(
|
exam_list = exam_list | self.Exam.objects.filter(
|
||||||
markers__id=request.user.id, exam_mode=True
|
markers__id=request.user.id, exam_mode=True
|
||||||
).order_by("name")
|
).order_by("name")
|
||||||
@@ -1448,6 +1449,7 @@ class ExamViews(View, LoginRequiredMixin):
|
|||||||
|
|
||||||
app_exam_map = {}
|
app_exam_map = {}
|
||||||
app_exam_map["rapids"] = user_user.user_rapid_exams
|
app_exam_map["rapids"] = user_user.user_rapid_exams
|
||||||
|
app_exam_map["shorts"] = user_user.user_shorts_exams
|
||||||
app_exam_map["anatomy"] = user_user.user_anatomy_exams
|
app_exam_map["anatomy"] = user_user.user_anatomy_exams
|
||||||
app_exam_map["longs"] = user_user.user_longs_exams
|
app_exam_map["longs"] = user_user.user_longs_exams
|
||||||
app_exam_map["physics"] = user_user.user_physics_exams
|
app_exam_map["physics"] = user_user.user_physics_exams
|
||||||
@@ -1660,7 +1662,9 @@ class ExamViews(View, LoginRequiredMixin):
|
|||||||
):
|
):
|
||||||
exams = self.Exam.objects.all()
|
exams = self.Exam.objects.all()
|
||||||
filter = self.ExtraExamFilter(request.GET, queryset=exams)
|
filter = self.ExtraExamFilter(request.GET, queryset=exams)
|
||||||
|
print("1")
|
||||||
else:
|
else:
|
||||||
|
print("2")
|
||||||
exams = self.Exam.objects.filter(
|
exams = self.Exam.objects.filter(
|
||||||
author__id=request.user.id
|
author__id=request.user.id
|
||||||
) | self.Exam.objects.filter(open_access=True)
|
) | self.Exam.objects.filter(open_access=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user