.
This commit is contained in:
+4
-1
@@ -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
@@ -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")
|
||||
Reference in New Issue
Block a user