From 2ec18d61125ef61db2820bb6f0e1d61c137fdb50 Mon Sep 17 00:00:00 2001 From: Ross Date: Wed, 8 Sep 2021 15:11:09 +0100 Subject: [PATCH] . --- longs/views.py | 12 ++++++++++++ rapids/templates/rapids/exam_overview.html | 4 ++++ rapids/templates/rapids/question_display_block.html | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/longs/views.py b/longs/views.py index f9af2591..e0e75e16 100755 --- a/longs/views.py +++ b/longs/views.py @@ -468,6 +468,10 @@ class LongUpdate(RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin return context def form_valid(self, form): + # save exam orders (there must be a better way to do this) + exam_orders = {} + for exam in self.object.exams.all(): + exam_orders[exam] = list(exam.exam_questions.all()) self.object = form.save(commit=False) self.object.save() @@ -486,6 +490,14 @@ class LongUpdate(RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin response = super().form_valid(form) series_formset.instance = self.object series_formset.save() + + # restore exam orders + for exam in self.object.exams.all(): + if exam in exam_orders and self.object in exam_orders[exam]: + print(exam_orders[exam]) + exam.exam_questions.set(exam_orders[exam]) + exam.save() + return response else: return super().form_invalid(form) diff --git a/rapids/templates/rapids/exam_overview.html b/rapids/templates/rapids/exam_overview.html index ac755ea1..b1aeac41 100644 --- a/rapids/templates/rapids/exam_overview.html +++ b/rapids/templates/rapids/exam_overview.html @@ -188,6 +188,10 @@ $(this).remove(); sortable('.sortable'); + $("#full-question-list li").each((n, el) => { + el.append($("[DELETE]")); + }) + $("#full-question-list").append($("").click(() => { new_order = []; $("#full-question-list li").each((n, el) => { diff --git a/rapids/templates/rapids/question_display_block.html b/rapids/templates/rapids/question_display_block.html index a723e855..a6b697a4 100755 --- a/rapids/templates/rapids/question_display_block.html +++ b/rapids/templates/rapids/question_display_block.html @@ -1,5 +1,5 @@
- +
{{ question.created_date|date:"d/m/Y" }}