.
This commit is contained in:
@@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
{% load thumbnail %}
|
{% load thumbnail %}
|
||||||
<div class="physics">
|
<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_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_delete' exam.id %}" title="Delete the Exam">Delete</a>
|
||||||
<a href="{% url 'sbas:exam_clone' exam.id %}" title="Clone the Exam">Clone</a>
|
<a href="{% url 'sbas:exam_clone' exam.id %}" title="Clone the Exam">Clone</a>
|
||||||
{% endif %} {% endcomment %}
|
{% endif %}
|
||||||
{% if request.user.is_superuser %}
|
{% 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>
|
<a href="{% url 'admin:sbas_exam_change' exam.id %}" title="Edit the Exam using the admin interface">Admin Edit</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ urlpatterns = [
|
|||||||
name="exam_scores_cid_user"),
|
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_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: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/submit", views.PhysicsExamViews.postExamAnswers, name="exam_answers_submit"),
|
||||||
path("exam/", views.PhysicsExamViews.exam_list, name="exam_list"),
|
path("exam/", views.PhysicsExamViews.exam_list, name="exam_list"),
|
||||||
path("exam/available", views.active_exams, name="active_exams"),
|
path("exam/available", views.active_exams, name="active_exams"),
|
||||||
|
|||||||
@@ -459,6 +459,23 @@ class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView):
|
|||||||
class ExamClone(AuthorOrCheckerRequiredMixin, ExamCloneMixin, ExamCreate):
|
class ExamClone(AuthorOrCheckerRequiredMixin, ExamCloneMixin, ExamCreate):
|
||||||
"""Clone exam view"""
|
"""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(
|
class QuestionView(
|
||||||
LoginRequiredMixin, SingleTableMixin, FilterView, AuthorOrCheckerRequiredMixin
|
LoginRequiredMixin, SingleTableMixin, FilterView, AuthorOrCheckerRequiredMixin
|
||||||
|
|||||||
Reference in New Issue
Block a user