This commit is contained in:
Ross
2021-05-01 12:50:46 +01:00
parent 9fb01b2e2d
commit 92404b791b
6 changed files with 12 additions and 1 deletions
@@ -5,6 +5,7 @@
{% load thumbnail %} {% load thumbnail %}
<div class="anatomy"> <div class="anatomy">
<a href="{% url 'anatomy:exam_update' exam.id %}" title="Edit the Exam">Edit</a> <a href="{% url 'anatomy:exam_update' exam.id %}" title="Edit the Exam">Edit</a>
<a href="{% url 'anatomy:exam_delete' exam.id %}" title="Delete the Exam">Delete</a>
<a href="{% url 'admin:anatomy_exam_change' exam.id %}" title="Edit the Exam using the admin interface">Admin Edit</a> <a href="{% url 'admin:anatomy_exam_change' exam.id %}" title="Edit the Exam using the admin interface">Admin Edit</a>
<h1>Exam: {{ exam.name }}</h1> <h1>Exam: {{ exam.name }}</h1>
This exam has {{question_number}} questions. Time limit: {{exam.time_limit}} seconds. This exam has {{question_number}} questions. Time limit: {{exam.time_limit}} seconds.
+1
View File
@@ -32,6 +32,7 @@ urlpatterns = [
path("exam/", views.AnatomyExamViews.exam_list, name="exam_list"), path("exam/", views.AnatomyExamViews.exam_list, name="exam_list"),
path("exam/create", views.ExamCreate.as_view(), name="exam_create"), path("exam/create", views.ExamCreate.as_view(), name="exam_create"),
path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"), path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"),
path("exam/<int:pk>/delete", views.ExamDelete.as_view(), name="exam_delete"),
path("exam/json/", views.AnatomyExamViews.active_exams, name="active_exams"), path("exam/json/", views.AnatomyExamViews.active_exams, name="active_exams"),
path("exam/json/<int:pk>", views.AnatomyExamViews.exam_json, name="exam_json"), path("exam/json/<int:pk>", views.AnatomyExamViews.exam_json, name="exam_json"),
path("exam/json/<int:pk>/recreate", views.AnatomyExamViews.exam_json_recreate, name="exam_json_recreate"), path("exam/json/<int:pk>/recreate", views.AnatomyExamViews.exam_json_recreate, name="exam_json_recreate"),
+4
View File
@@ -1025,3 +1025,7 @@ class ExamViewSet(viewsets.ModelViewSet):
return Exam.objects.all() return Exam.objects.all()
return Exam.objects.filter(author__id=user.id) return Exam.objects.filter(author__id=user.id)
class ExamDelete(AuthorOrCheckerRequiredMixin, DeleteView):
model = Exam
success_url = reverse_lazy("anatomy:index")
@@ -5,6 +5,7 @@
{% load thumbnail %} {% load thumbnail %}
<div class="rapids"> <div class="rapids">
<a href="{% url 'rapids:exam_update' exam.id %}" title="Edit the Exam">Edit</a> <a href="{% url 'rapids:exam_update' exam.id %}" title="Edit the Exam">Edit</a>
<a href="{% url 'rapids:exam_delete' exam.id %}" title="Delete the Exam">Delete</a>
<a href="{% url 'admin:rapids_exam_change' exam.id %}" title="Edit the Exam using the admin interface">Admin Edit</a> <a href="{% url 'admin:rapids_exam_change' exam.id %}" title="Edit the Exam using the admin interface">Admin Edit</a>
<h1>Exam: {{ exam.name }}</h1> <h1>Exam: {{ exam.name }}</h1>
This exam has {{question_number}} questions. Time limit: {{exam.time_limit}} seconds.<br/> This exam has {{question_number}} questions. Time limit: {{exam.time_limit}} seconds.<br/>
+1
View File
@@ -34,6 +34,7 @@ urlpatterns = [
path("exam/", views.RapidExamViews.exam_list, name="exam_list"), path("exam/", views.RapidExamViews.exam_list, name="exam_list"),
path("exam/create", views.ExamCreate.as_view(), name="exam_create"), path("exam/create", views.ExamCreate.as_view(), name="exam_create"),
path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"), path("exam/<int:pk>/update", views.ExamUpdate.as_view(), name="exam_update"),
path("exam/<int:pk>/delete", views.ExamDelete.as_view(), name="exam_delete"),
path("exam/json/", views.RapidExamViews.active_exams, name="active_exams"), path("exam/json/", views.RapidExamViews.active_exams, name="active_exams"),
path("exam/json/<int:pk>", views.RapidExamViews.exam_json, name="exam_json"), path("exam/json/<int:pk>", views.RapidExamViews.exam_json, name="exam_json"),
path("exam/json/<int:pk>/unbased", views.RapidExamViews.exam_json_unbased, name="exam_json_unbased"), path("exam/json/<int:pk>/unbased", views.RapidExamViews.exam_json_unbased, name="exam_json_unbased"),
+3
View File
@@ -1001,3 +1001,6 @@ class RapidViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated] permission_classes = [permissions.IsAuthenticated]
pagination_class = StandardResultsSetPagination pagination_class = StandardResultsSetPagination
class ExamDelete(AuthorOrCheckerRequiredMixin, DeleteView):
model = Exam
success_url = reverse_lazy("rapids:index")