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 -1
View File
@@ -22,6 +22,8 @@ from helpers.images import image_as_base64
from generic.models import Site, Condition, Sign, ExamBase
import reversion
image_storage = FileSystemStorage(
# Physical file location ROOT
location=u"{0}".format(settings.MEDIA_ROOT),
@@ -104,6 +106,7 @@ class Answer(models.Model):
self.answer_compare = s
@reversion.register
class Rapid(models.Model):
#author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
#image = models.ImageField()
@@ -349,7 +352,7 @@ class RapidCreationDefault(models.Model):
def get_absolute_url(self):
return reverse('rapids:rapid_create')
@reversion.register
class Exam(ExamBase):
app_name = "rapids"
+9 -7
View File
@@ -43,6 +43,8 @@ from .models import (
from generic.views import ExamViews
from reversion.views import RevisionMixin
from .tables import RapidTable, RapidUserAnswerTable
from .filters import RapidFilter, RapidUserAnswerFilter
@@ -268,7 +270,7 @@ def rapid_clone(request, pk):
return render(request, "rapids/rapid_form.html", context)
class RapidCreateBase(LoginRequiredMixin, CreateView):
class RapidCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
model = Rapid
form_class = RapidForm
@@ -353,7 +355,7 @@ class RapidCreate(RapidCreateBase):
# return super().form_valid(form)
class RapidUpdate(LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
class RapidUpdate(RevisionMixin, LoginRequiredMixin, AuthorOrCheckerRequiredMixin, UpdateView):
model = Rapid
form_class = RapidForm
@@ -928,7 +930,7 @@ class QuestionDelete(AuthorOrCheckerRequiredMixin, DeleteView):
RapidExamViews = ExamViews(Exam, Rapid, "rapids", "rapid", loadJsonAnswer)
class ExamCreate(LoginRequiredMixin, CreateView):
class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = Exam
form_class = ExamForm
@@ -939,7 +941,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
@@ -970,7 +972,7 @@ class StandardResultsSetPagination(PageNumberPagination):
page_size = 100
page_size_query_param = 'page_size'
max_page_size = 1000
class ExamViewSet(viewsets.ModelViewSet):
class ExamViewSet(RevisionMixin, viewsets.ModelViewSet):
#queryset = Exam.objects.all().order_by('name')
serializer_class = ExamSerializer
@@ -995,12 +997,12 @@ class UserAnswerViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated]
class RapidViewSet(viewsets.ModelViewSet):
class RapidViewSet(RevisionMixin, viewsets.ModelViewSet):
queryset = Rapid.objects.all()#.order_by('name')
serializer_class = RapidSerializer
permission_classes = [permissions.IsAuthenticated]
pagination_class = StandardResultsSetPagination
class ExamDelete(AuthorOrCheckerRequiredMixin, DeleteView):
class ExamDelete(RevisionMixin, AuthorOrCheckerRequiredMixin, DeleteView):
model = Exam
success_url = reverse_lazy("rapids:index")