numerous supervisor upgrades

This commit is contained in:
Ross
2024-10-28 16:30:13 +00:00
parent 375261dd84
commit a2907fa285
21 changed files with 455 additions and 27 deletions
+7 -21
View File
@@ -7,7 +7,7 @@ from atlas.models import CaseCollection, CidReportAnswer
from generic.decorators import user_is_cid_user_manager
from generic.filters import UserUserFilter
from generic.tables import UserUserTable
from generic.views import CidManagerRequiredMixin, RedirectMixin, get_question_and_content_type
from generic.views import CidManagerRequiredMixin, RedirectMixin, get_question_and_content_type, get_user_exams
from django.core.exceptions import PermissionDenied, ObjectDoesNotExist
from django.shortcuts import render, get_object_or_404, redirect
from django.views.decorators.csrf import csrf_exempt
@@ -39,9 +39,8 @@ from django.http import Http404, JsonResponse
from django.http import HttpResponseRedirect, HttpResponse
from physics.models import UserAnswer as PhysicsUserAnswer, Question
from physics.models import UserAnswer as PhysicsUserAnswer
from physics.models import Exam as PhysicsExam
from physics.models import Question as SbasQuestion
from anatomy.models import UserAnswer as AnatomyUserAnswer
from anatomy.models import Exam as AnatomyExam
@@ -60,7 +59,6 @@ from longs.models import Long
from sbas.models import UserAnswer as SbasUserAnswer
from sbas.models import Exam as SbasExam
from sbas.models import Question as SbasQuestion
from anatomy.views import GenericExamViews as AnatomyExamViews
from rapids.views import GenericExamViews as RapidsExamsViews
@@ -148,6 +146,7 @@ def user_scores_admin(request, user_id):
return user_scores(request, user=user)
@login_required
def user_scores(request, user=None):
# exam = get_object_or_404(Exam, pk=pk)
@@ -164,23 +163,7 @@ def user_scores(request, user=None):
user = request.user
admin = False
EXAM_ANSWER_MAP = {
"physics": (PhysicsUserAnswer, PhysicsExam),
"anatomy": (AnatomyUserAnswer, AnatomyExam),
"rapids": (RapidsUserAnswer, RapidsExam),
"longs": (LongsUserAnswer, LongsExam),
"sbas": (SbasUserAnswer, SbasExam),
}
kwargs = {"exam_mode": True, "archive": False}
exams = []
for exam_type in EXAM_ANSWER_MAP:
UserAnswer, Exam = EXAM_ANSWER_MAP[exam_type]
exam_answers = UserAnswer.objects.filter(user=user)
exam_ids = exam_answers.values_list("exam").distinct()
exams_to_add = Exam.objects.filter(id__in=exam_ids, **kwargs)
if exams_to_add:
exams.append((exam_type, exams_to_add))
exams = get_user_exams(user)
# case_collections = request.user.casecollection_exams.all()
@@ -737,6 +720,9 @@ def accounts_bulk_create_check(request):
user = json.loads(request.POST.get("user"))
if "email" not in user:
return HttpResponse(format_html("<span class='error'>{}</span>", "No email provided"))
if User.objects.filter(username=user["email"]).exists():
return HttpResponse(format_html("<span class='error'>{}</span>", "User already exists"))