This commit is contained in:
Ross
2021-04-22 23:37:33 +01:00
parent 3b726c2646
commit 14c3a3c079
5 changed files with 68 additions and 2 deletions
+14
View File
@@ -16,3 +16,17 @@ class RapidFilter(django_filters.FilterSet):
queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id) queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id)
super(RapidFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request) super(RapidFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass pass
class RapidQuestionFilter(django_filters.FilterSet):
class Meta:
model = RapidQuestion
fields = ("question_type", "exams",
"examination",
"modality", "region",
"normal", "created_date", "open_access", "author")
def __init__(self, data=None, queryset=None, prefix=None, strict=None, user=None, request=None):
if not request.user.groups.filter(name="rapid_checker").exists():
queryset = queryset.filter(open_access=True) | queryset.filter(author__id=request.user.id)
super(RapidQuestionFilter, self).__init__(data=data, queryset=queryset, prefix=prefix, request=request)
pass
+20
View File
@@ -56,3 +56,23 @@ class RapidTable(tables.Table):
#"site", #"site",
"created_date", "open_access", "author") "created_date", "open_access", "author")
sequence = ("view", "images", "exams") sequence = ("view", "images", "exams")
class RapidsUserAnswerTable(tables.Table):
select = tables.CheckBoxColumn(accessor=("pk"))
delete = tables.LinkColumn(
"rapids:rapid_user_answer_delete", text="Delete", args=[A("pk")], orderable=False
)
class Meta:
model = CidUserAnswer
template_name = "django_tables2/bootstrap4.html"
fields = (
"cid",
"question",
"normal",
"answer",
#"answer_compare",
"exam",
"created",
"updated",
)
@@ -0,0 +1,18 @@
{% extends 'rapids/base.html' %}
{% load render_table from django_tables2 %}
{% block css %}
{% endblock %}
{% block content %}
<div id="view-filter-options">
<h3>Filter Rapid Questions</h3>
<form action="" method="get">
{{ filter.form }}
<input class="btn btn-primary btn-sm mt-1 mb-1" type="submit" />
</form>
</div>
{% render_table table %}
{% endblock %}
+2
View File
@@ -64,4 +64,6 @@ urlpatterns = [
name="rapid_update", name="rapid_update",
), ),
path("<int:pk>/add_note", views.AddNote.as_view(), name="rapid_add_note"), path("<int:pk>/add_note", views.AddNote.as_view(), name="rapid_add_note"),
path("user_answers/", views.RapidUserAnswerView.as_view(), name="rapid_user_answer_view"),
path("user_answers/<int:pk>/delete", views.UserAnswerDelete.as_view(), name="rapid_user_answer_delete"),
] ]
+12
View File
@@ -920,3 +920,15 @@ class ExamViewSet(viewsets.ModelViewSet):
class ExamCreate(LoginRequiredMixin, CreateView): class ExamCreate(LoginRequiredMixin, CreateView):
model = Exam model = Exam
form_class = ExamForm form_class = ExamForm
class AnatomyUserAnswerView(LoginRequiredMixin, SingleTableMixin, FilterView):
model = CidUserAnswer
table_class = RapidUserAnswerTable
template_name = "rapids/rapid_question_view.html"
filterset_class = RapidUserAnswerFilter
class UserAnswerDelete(SuperuserRequiredMixin, DeleteView):
model = CidUserAnswer
success_url = reverse_lazy("rapids:rapid_user_answer_view")