', value)
+
+
+class QuestionTable(tables.Table):
+ #edit = tables.LinkColumn(
+ # "sbas:sbas_question_update", text="Edit", args=[A("pk")], orderable=False
+ #)
+ view = tables.LinkColumn(
+ "sbas:question_detail", text="View", args=[A("pk")], orderable=False
+ )
+ #delete = tables.LinkColumn(
+ # "sbas:question_delete", text="Delete", args=[A("pk")], orderable=False
+ #)
+ exams = tables.ManyToManyColumn(verbose_name="Exams")
+
+ selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
+
+ class Meta:
+ model = Question
+ template_name = "django_tables2/bootstrap4.html"
+ fields = (
+ "stem",
+ "a_answer",
+ "b_answer",
+ "c_answer",
+ "d_answer",
+ "e_answer",
+ "best_answer",
+ "created_date",
+ "category",
+ "author",
+ )
+ sequence = ("view", "exams")
+
+class UserAnswerTable(tables.Table):
+ select = tables.CheckBoxColumn(accessor=("pk"))
+ #delete = tables.LinkColumn(
+ # "sbas:user_answer_delete", text="Delete", args=[A("pk")], orderable=False
+ #)
+ class Meta:
+ model = CidUserAnswer
+ template_name = "django_tables2/bootstrap4.html"
+ fields = (
+ "cid",
+ "question",
+ "answer",
+ #"answer_compare",
+ "exam",
+ "created",
+ "updated",
+ )
+
diff --git a/sbas/templates/sbas/question_view.html b/sbas/templates/sbas/question_view.html
new file mode 100644
index 00000000..48f3cefc
--- /dev/null
+++ b/sbas/templates/sbas/question_view.html
@@ -0,0 +1,18 @@
+{% extends 'sbas/base.html' %}
+
+{% load render_table from django_tables2 %}
+{% block css %}
+{% endblock %}
+
+{% block content %}
+
+
+
Filter SBA Questions
+
+
+{% render_table table %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/sbas/views.py b/sbas/views.py
index f4e9e4e8..7de294b3 100644
--- a/sbas/views.py
+++ b/sbas/views.py
@@ -24,6 +24,9 @@ from django.http import HttpResponseRedirect, HttpResponse
from .models import Question, Category, Exam, CidUserAnswer
+from django_tables2 import SingleTableView, SingleTableMixin
+from django_filters.views import FilterView
+
from collections import defaultdict
import os
import base64
@@ -39,6 +42,9 @@ from rest_framework.pagination import PageNumberPagination
from django.core.exceptions import PermissionDenied
+from .tables import QuestionTable, UserAnswerTable
+from .filters import QuestionFilter, UserAnswerFilter
+
class AuthorOrCheckerRequiredMixin(object):
def get_object(self, *args, **kwargs):
obj = super().get_object(*args, **kwargs)
@@ -348,4 +354,11 @@ def exam_take(request, pk, sk, cid):
def loadJsonAnswer(answer):
pass
-SbasExamViews = ExamViews(Exam, Question, "sbas", "sbas", loadJsonAnswer)
\ No newline at end of file
+SbasExamViews = ExamViews(Exam, Question, "sbas", "sbas", loadJsonAnswer)
+
+class QuestionView(LoginRequiredMixin, SingleTableMixin, FilterView):
+ model = Question
+ table_class = QuestionTable
+ template_name = "anatomy/anatomy_question_view.html"
+
+ filterset_class = QuestionFilter