.
This commit is contained in:
@@ -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 %}
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user