.
This commit is contained in:
+7
-2
@@ -2,7 +2,7 @@ from django.urls import path, include
|
||||
|
||||
from generic.models import Examination
|
||||
from . import views
|
||||
from generic.views import ExamViews as GenericExamViews
|
||||
from generic.views import ExamViews as GenericExamViews, GenericViewBase
|
||||
|
||||
|
||||
app_name = "generic"
|
||||
@@ -147,7 +147,7 @@ urlpatterns = [
|
||||
]
|
||||
|
||||
|
||||
def generic_view_urls(generic_views):
|
||||
def generic_view_urls(generic_views: GenericViewBase):
|
||||
urlpatterns = [
|
||||
path(
|
||||
"user_answers/delete",
|
||||
@@ -164,6 +164,11 @@ def generic_view_urls(generic_views):
|
||||
generic_views.question_user_answers,
|
||||
name="question_user_answers",
|
||||
),
|
||||
path(
|
||||
"question/<int:pk>/user_answers/<str:answer_compare>/str",
|
||||
generic_views.question_user_answers_by_compare,
|
||||
name="question_user_answers_by_compare",
|
||||
),
|
||||
path(
|
||||
"exam/<int:pk>/review",
|
||||
generic_views.question_review,
|
||||
|
||||
+14
-3
@@ -2322,16 +2322,27 @@ class GenericViewBase:
|
||||
{"question": question, "view_feedback": view_feedback},
|
||||
)
|
||||
|
||||
# TODO: improve permissions on these
|
||||
@method_decorator(login_required)
|
||||
def question_user_answers(self, request, pk):
|
||||
def question_user_answers_by_compare(self, request, pk, answer_compare):
|
||||
print(answer_compare)
|
||||
return self.question_user_answers(request, pk, answer_compare)
|
||||
|
||||
@method_decorator(login_required)
|
||||
def question_user_answers(self, request, pk, answer_compare=None):
|
||||
print(locals())
|
||||
question = get_object_or_404(self.question_object, pk=pk)
|
||||
|
||||
answers = self.cid_user_answer_object.objects.filter(question__id=question.pk).prefetch_related("question", "exam", "user")
|
||||
if answer_compare is None:
|
||||
answers = self.cid_user_answer_object.objects.filter(question__id=question.pk).prefetch_related("question", "exam", "user")
|
||||
else:
|
||||
answers = self.cid_user_answer_object.objects.filter(question__id=question.pk, answer_compare=answer_compare).prefetch_related("question", "exam", "user")
|
||||
|
||||
|
||||
return render(
|
||||
request,
|
||||
f"{self.app_name}/question_user_answers.html",
|
||||
{"question": question, "answers": answers},
|
||||
{"question": question, "answers": answers, "answer_compare": answer_compare},
|
||||
)
|
||||
|
||||
@method_decorator(login_required)
|
||||
|
||||
Reference in New Issue
Block a user