unify generic exam views naming

This commit is contained in:
Ross
2021-12-19 10:08:07 +00:00
parent b823e0a897
commit 889db68a08
12 changed files with 194 additions and 133 deletions
+26 -23
View File
@@ -47,9 +47,9 @@ from sbas.models import CidUserAnswer as SbasCidUserAnswer
from sbas.models import Exam as SbasExam
from sbas.models import Question as SbasQuestion
from anatomy.views import AnatomyExamViews
from rapids.views import RapidExamViews
from longs.views import LongExamViews
from anatomy.views import GenericExamViews
from rapids.views import GenericExamViews
from longs.views import GenericExamViews
from generic.forms import QuestionNoteForm
from generic.models import CidUser, QuestionNote
@@ -75,6 +75,7 @@ def cid_selector(request):
"cid_selector.html",
)
@login_required
@user_passes_test(lambda u: u.is_superuser)
def cid_scores_admin(request, cid):
@@ -82,6 +83,7 @@ def cid_scores_admin(request, cid):
return cid_scores(request, cid_user.cid, cid_user.passcode)
def cid_scores(request, pk, passcode):
# exam = get_object_or_404(Exam, pk=pk)
@@ -95,11 +97,11 @@ def cid_scores(request, pk, passcode):
# questions = exam.exam_questions.all()
EXAM_ANSWER_MAP = {
"physics" : (PhysicsCidUserAnswer, PhysicsExam),
"anatomy" : (AnatomyCidUserAnswer, AnatomyExam),
"rapids" : (RapidsCidUserAnswer, RapidsExam),
"longs" : (LongsCidUserAnswer, LongsExam),
"sbas" : (SbasCidUserAnswer, SbasExam),
"physics": (PhysicsCidUserAnswer, PhysicsExam),
"anatomy": (AnatomyCidUserAnswer, AnatomyExam),
"rapids": (RapidsCidUserAnswer, RapidsExam),
"longs": (LongsCidUserAnswer, LongsExam),
"sbas": (SbasCidUserAnswer, SbasExam),
}
kwargs = {"exam_mode": True}
@@ -110,18 +112,17 @@ def cid_scores(request, pk, passcode):
exam_ids = exam_answers.values_list("exam").distinct()
exams.append((exam_type, Exam.objects.filter(id__in=exam_ids, **kwargs)))
available_exams = cid_user.get_cid_exams()
return render(
request,
"cid_scores.html",
{
#"physics_exams": physics_exams,
#"anatomy_exams": anatomy_exams,
#"rapid_exams": rapid_exams,
#"longs_exams": longs_exams,
#"sba_exams": sba_exams,
# "physics_exams": physics_exams,
# "anatomy_exams": anatomy_exams,
# "rapid_exams": rapid_exams,
# "longs_exams": longs_exams,
# "sba_exams": sba_exams,
"all_exams": exams,
"cid": cid,
"passcode": passcode,
@@ -140,13 +141,15 @@ def active_exams(request, cid=None, passcode=None):
if not cid_user or cid_user.passcode != passcode:
return JsonResponse({"status": "invalid"}, status=401)
anatomy_exams = AnatomyExamViews.active_exams(
anatomy_exams = GenericExamViews.active_exams(
request, False, cid=cid, passcode=passcode
)
rapid_exams = RapidExamViews.active_exams(
rapid_exams = GenericExamViews.active_exams(
request, False, cid=cid, passcode=passcode
)
long_exams = GenericExamViews.active_exams(
request, False, cid=cid, passcode=passcode
)
long_exams = LongExamViews.active_exams(request, False, cid=cid, passcode=passcode)
exams = []
exams.extend(anatomy_exams)
@@ -164,9 +167,9 @@ def active_exams(request, cid=None, passcode=None):
def active_exams_unbased(request):
anatomy_exams = AnatomyExamViews.active_exams(request, False, False)
rapid_exams = RapidExamViews.active_exams(request, False, False)
long_exams = LongExamViews.active_exams(request, False, False)
anatomy_exams = GenericExamViews.active_exams(request, False, False)
rapid_exams = GenericExamViews.active_exams(request, False, False)
long_exams = GenericExamViews.active_exams(request, False, False)
exams = []
exams.extend(anatomy_exams)
@@ -189,11 +192,11 @@ def exam_submit(request):
exam_type, exam_id = request.POST.get("eid").split("/")
if exam_type == "anatomy":
return AnatomyExamViews.postExamAnswers(request)
return GenericExamViews.postExamAnswers(request)
elif exam_type == "rapid":
return RapidExamViews.postExamAnswers(request)
return GenericExamViews.postExamAnswers(request)
elif exam_type == "long":
return LongExamViews.postExamAnswers(request)
return GenericExamViews.postExamAnswers(request)
return JsonResponse({"success": False, "error": "Invalid exam type"})
# postExamAnswers