add a redirct view mixin
This commit is contained in:
+19
-13
@@ -85,7 +85,9 @@ from generic.views import (
|
||||
ExamGroupsUpdateBase,
|
||||
ExamUpdateBase,
|
||||
ExamViews,
|
||||
RedirectMixin,
|
||||
SeriesImagesZipViewBase,
|
||||
UpdateQuestionMixin,
|
||||
)
|
||||
from reversion.views import RevisionMixin
|
||||
import reversion
|
||||
@@ -155,7 +157,10 @@ def question_detail(request, pk):
|
||||
# raise PermissionDenied
|
||||
|
||||
# logging.debug(long.subspecialty.first().name.all())
|
||||
return render(request, "longs/question_detail.html", {"question": long})
|
||||
can_edit = long.can_edit(request.user)
|
||||
return render(
|
||||
request, "longs/question_detail.html", {"question": long, "can_edit": can_edit}
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
@@ -500,7 +505,7 @@ class LongCreate(LongCreateBase):
|
||||
|
||||
|
||||
class LongUpdate(
|
||||
RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView
|
||||
UpdateQuestionMixin,AuthorOrCheckerRequiredMixin
|
||||
):
|
||||
model = Long
|
||||
form_class = LongForm
|
||||
@@ -510,13 +515,9 @@ class LongUpdate(
|
||||
# #initial = {'date_of_death': '05/01/2018'}
|
||||
# exclude = [ 'created_date', 'published_date' ]
|
||||
|
||||
def get_form_kwargs(self):
|
||||
kwargs = super(LongUpdate, self).get_form_kwargs()
|
||||
kwargs.update({"user": self.request.user})
|
||||
return kwargs
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(LongUpdate, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
if self.request.POST:
|
||||
context["series_formset"] = SeriesFormSet(
|
||||
self.request.POST, self.request.FILES, instance=self.object
|
||||
@@ -563,6 +564,7 @@ class LongUpdate(
|
||||
return super().form_invalid(form)
|
||||
|
||||
|
||||
|
||||
class LongClone(LongCreateBase):
|
||||
"""Clones a existing long"""
|
||||
|
||||
@@ -643,12 +645,12 @@ class LongSeriesView(LoginRequiredMixin, SingleTableMixin, FilterView):
|
||||
filterset_class = LongSeriesFilter
|
||||
|
||||
|
||||
#@user_is_long_marker
|
||||
# @user_is_long_marker
|
||||
def mark_answer_override(request, exam_id, question_number, cid):
|
||||
return mark_answer(request, exam_id, question_number, cid, override=True)
|
||||
|
||||
|
||||
#@user_is_long_marker
|
||||
# @user_is_long_marker
|
||||
@reversion.create_revision()
|
||||
def mark_answer(request, exam_id, question_number, answer_id, override=False):
|
||||
exam = get_object_or_404(Exam, pk=exam_id)
|
||||
@@ -847,7 +849,7 @@ def mark_answer(request, exam_id, question_number, answer_id, override=False):
|
||||
|
||||
# @user_passes_test(user_is_admin, login_url="/accounts/login")
|
||||
@login_required
|
||||
#@user_is_long_marker
|
||||
# @user_is_long_marker
|
||||
def mark(request, exam_id, sk):
|
||||
exam = get_object_or_404(Exam, pk=exam_id)
|
||||
|
||||
@@ -902,8 +904,6 @@ def mark(request, exam_id, sk):
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
@login_required
|
||||
@user_is_author_or_long_series_checker
|
||||
def long_series_order_dicom(request, pk):
|
||||
@@ -985,14 +985,20 @@ class ExamAuthorUpdate(
|
||||
form_class = ExamAuthorForm
|
||||
template_name = "author_form.html"
|
||||
|
||||
|
||||
class ExamMarkersUpdate(
|
||||
RevisionMixin, CheckCanEditMixin, LoginRequiredMixin, AuthorRequiredMixin, UpdateView
|
||||
RevisionMixin,
|
||||
CheckCanEditMixin,
|
||||
LoginRequiredMixin,
|
||||
AuthorRequiredMixin,
|
||||
UpdateView,
|
||||
):
|
||||
model = Exam
|
||||
form_class = ExamMarkerForm
|
||||
|
||||
template_name = "markers_form.html"
|
||||
|
||||
|
||||
class ExamGroupsUpdate(ExamGroupsUpdateBase):
|
||||
model = Exam
|
||||
form_class = ExamGroupsForm
|
||||
|
||||
Reference in New Issue
Block a user