This commit is contained in:
Ross
2021-12-11 11:35:04 +00:00
parent d2174b6209
commit af290ed489
3 changed files with 22 additions and 2 deletions
+2 -2
View File
@@ -4,11 +4,11 @@
{% load thumbnail %}
<div class="physics">
{% comment %} {% if can_edit %}
{% if can_edit %}
<a href="{% url 'sbas:exam_update' exam.id %}" title="Edit the Exam">Edit</a>
<a href="{% url 'sbas:exam_delete' exam.id %}" title="Delete the Exam">Delete</a>
<a href="{% url 'sbas:exam_clone' exam.id %}" title="Clone the Exam">Clone</a>
{% endif %} {% endcomment %}
{% endif %}
{% if request.user.is_superuser %}
<a href="{% url 'admin:sbas_exam_change' exam.id %}" title="Edit the Exam using the admin interface">Admin Edit</a>
{% endif %}
+3
View File
@@ -24,6 +24,9 @@ urlpatterns = [
name="exam_scores_cid_user"),
path("exam/<int:pk>/toggle_active", views.PhysicsExamViews.exam_toggle_active, name="exam_toggle_active"),
path("exam/<int:pk>/toggle_results_published", views.PhysicsExamViews.exam_toggle_results_published, name="exam_toggle_results_published"),
path("exam/<int:exam_id>/clone", views.ExamClone.as_view(), name="exam_clone"),
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/submit", views.PhysicsExamViews.postExamAnswers, name="exam_answers_submit"),
path("exam/", views.PhysicsExamViews.exam_list, name="exam_list"),
path("exam/available", views.active_exams, name="active_exams"),
+17
View File
@@ -459,6 +459,23 @@ class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView):
class ExamClone(AuthorOrCheckerRequiredMixin, ExamCloneMixin, ExamCreate):
"""Clone exam view"""
class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
model = Exam
template_name = "exam_confirm_delete.html"
success_url = reverse_lazy("anatomy:index")
class ExamUpdate(
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
):
model = Exam
form_class = ExamForm
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 QuestionView(
LoginRequiredMixin, SingleTableMixin, FilterView, AuthorOrCheckerRequiredMixin