This commit is contained in:
Ross
2021-05-02 16:12:30 +01:00
parent 74aa6c7afc
commit a537561217
6 changed files with 37 additions and 73 deletions
+4
View File
@@ -18,6 +18,8 @@ from generic.models import Examination, ExamBase
from collections import defaultdict
from helpers.images import image_as_base64
import reversion
image_storage = FileSystemStorage(
# Physical file location ROOT
location=u"{0}/".format(settings.MEDIA_ROOT),
@@ -66,6 +68,7 @@ class QuestionType(models.Model):
return self.text
@reversion.register
class AnatomyQuestion(models.Model):
# author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
# image = models.ImageField()
@@ -269,6 +272,7 @@ class Answer(models.Model):
# self.answer.strip()
@reversion.register
class Exam(ExamBase):
app_name = "anatomy"
+7 -6
View File
@@ -47,6 +47,7 @@ from .models import (
)
from generic.models import Examination
from generic.views import ExamViews
from reversion.views import RevisionMixin
from .decorators import user_is_author_or_anatomy_checker
@@ -694,7 +695,7 @@ def exam_scores_cid_user(request, pk, sk):
# )
class AnatomyQuestionCreateBase(LoginRequiredMixin, CreateView):
class AnatomyQuestionCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
model = AnatomyQuestion
form_class = AnatomyQuestionForm
@@ -799,7 +800,7 @@ class AnatomyQuestionCreate(AnatomyQuestionCreateBase):
# class AnatomyQuestionUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin,
class AnatomyQuestionUpdate(AuthorOrCheckerRequiredMixin, UpdateView):
class AnatomyQuestionUpdate(RevisionMixin, AuthorOrCheckerRequiredMixin, UpdateView):
model = AnatomyQuestion
form_class = AnatomyQuestionForm
@@ -989,7 +990,7 @@ class QuestionDelete(AuthorOrCheckerRequiredMixin, DeleteView):
model = AnatomyQuestion
success_url = reverse_lazy("anatomy:anatomy_question_view")
class ExamCreate(LoginRequiredMixin, CreateView):
class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = Exam
form_class = ExamForm
@@ -1000,7 +1001,7 @@ class ExamCreate(LoginRequiredMixin, CreateView):
form.instance.author.add(self.request.user.id)
return super().form_valid(form)
class ExamUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
class ExamUpdate(RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
model = Exam
form_class = ExamForm
@@ -1011,7 +1012,7 @@ class ExamUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
form.instance.author.add(self.request.user.id)
return super().form_valid(form)
class ExamViewSet(viewsets.ModelViewSet):
class ExamViewSet(RevisionMixin, viewsets.ModelViewSet):
#queryset = Exam.objects.all().order_by('name')
serializer_class = ExamSerializer
permission_classes = [permissions.IsAuthenticated]
@@ -1026,6 +1027,6 @@ class ExamViewSet(viewsets.ModelViewSet):
return Exam.objects.filter(author__id=user.id)
class ExamDelete(AuthorOrCheckerRequiredMixin, DeleteView):
class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
model = Exam
success_url = reverse_lazy("anatomy:index")