.
This commit is contained in:
+37
-4
@@ -318,14 +318,15 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
# },
|
||||
# },
|
||||
# }
|
||||
|
||||
def __init__(self, data=None, *args, **kwargs):
|
||||
# if filterset is bound, use initial values as defaults
|
||||
if data is not None:
|
||||
# get a mutable copy of the QueryDict
|
||||
data = data.copy()
|
||||
|
||||
#for name, f in self.base_filters.items():
|
||||
# filter param is either missing or empty, use initial as default
|
||||
# for name, f in self.base_filters.items():
|
||||
# filter param is either missing or empty, use initial as default
|
||||
if not data.get("archive"):
|
||||
data["archive"] = False
|
||||
|
||||
@@ -796,6 +797,8 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
|
||||
app_exam_map = {}
|
||||
app_exam_map["rapids"] = cid_user.rapid_exams
|
||||
app_exam_map["anatomy"] = cid_user.anatomy_exams
|
||||
app_exam_map["longs"] = cid_user.long_exams
|
||||
app_exam_map["atlas"] = cid_user.casecollection_exams
|
||||
|
||||
if add:
|
||||
@@ -815,6 +818,8 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
|
||||
app_exam_map = {}
|
||||
app_exam_map["rapids"] = user_user.user_rapid_exams
|
||||
app_exam_map["anatomy"] = user_user.user_anatomy_exams
|
||||
app_exam_map["longs"] = user_user.user_longs_exams
|
||||
# app_exam_map["atlas"] = user_user.casecollection_exams
|
||||
|
||||
if add:
|
||||
@@ -967,7 +972,8 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
# self.check_user_access(request.user, exam.pk)
|
||||
|
||||
if (
|
||||
(
|
||||
request.user.is_superuser
|
||||
or (
|
||||
self.app_name == "rapids"
|
||||
and request.user.groups.filter(name="rapid_checker").exists()
|
||||
)
|
||||
@@ -986,7 +992,11 @@ class ExamViews(View, LoginRequiredMixin):
|
||||
|
||||
filter = self.ExamFilter(request.GET, queryset=exams)
|
||||
|
||||
return render(request, "generic/exam_index.html", {"filter": filter, "app_name": self.app_name})
|
||||
return render(
|
||||
request,
|
||||
"generic/exam_index.html",
|
||||
{"filter": filter, "app_name": self.app_name},
|
||||
)
|
||||
|
||||
@method_decorator(login_required)
|
||||
def exam_question_detail(self, request, pk, sk):
|
||||
@@ -2064,3 +2074,26 @@ class UserUserGroupDelete(RevisionMixin, CidManagerRequiredMixin, DeleteView):
|
||||
model = UserUserGroup
|
||||
template_name = "confirm_delete.html"
|
||||
success_url = reverse_lazy("generic:user_group_view")
|
||||
|
||||
|
||||
class ExamCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
||||
template_name = "exam_create_form.html"
|
||||
|
||||
def form_valid(self, form):
|
||||
self.object = form.save(commit=False)
|
||||
self.object.save()
|
||||
|
||||
form.instance.author.add(self.request.user.id)
|
||||
return super().form_valid(form)
|
||||
|
||||
|
||||
class ExamUpdateBase(RevisionMixin, LoginRequiredMixin, UpdateView):
|
||||
template_name = "exam_update_form.html"
|
||||
|
||||
def form_valid(self, form):
|
||||
self.object = form.save(commit=False)
|
||||
self.object.save()
|
||||
|
||||
form.instance.author.add(self.request.user.id)
|
||||
|
||||
return super().form_valid(form)
|
||||
|
||||
Reference in New Issue
Block a user