This commit is contained in:
Ross
2022-05-03 20:05:24 +01:00
parent 4f2bdecd08
commit 66dff08472
5 changed files with 22 additions and 24 deletions
+4 -2
View File
@@ -8,6 +8,8 @@ from django.forms import (
)
from django.forms import inlineformset_factory
from generic.forms import ExamFormMixin
from .models import (
Answer,
CidUserAnswer,
@@ -201,7 +203,7 @@ class BodyPartForm(ModelForm):
fields = ["bodypart"]
class ExamForm(ModelForm):
class ExamForm(ExamFormMixin, ModelForm):
class Meta:
model = Exam
fields = [
@@ -213,4 +215,4 @@ class ExamForm(ModelForm):
"active",
"publish_results",
"archive",
]
]
+7
View File
@@ -46,6 +46,13 @@ from sbas.models import CidUserAnswer as SbasCidUserAnswer
from sbas.models import Exam as SbasExam
from sbas.models import Question as SbasQuestion
class ExamFormMixin:
def save(self, commit=True):
instance = ModelForm.save(self, False)
instance.save()
return instance
class ExaminationForm(ModelForm):
class Meta:
model = Examination
+3 -2
View File
@@ -7,6 +7,7 @@ from django.forms import (
CharField,
)
from django.forms import inlineformset_factory
from generic.forms import ExamFormMixin
from longs.models import (
# Examination,
@@ -265,7 +266,7 @@ LongSeriesImageFormSet = inlineformset_factory(
)
class ExamForm(ModelForm):
class ExamForm(ExamFormMixin, ModelForm):
class Meta:
model = Exam
fields = [
@@ -278,4 +279,4 @@ class ExamForm(ModelForm):
"publish_results",
"double_mark",
"archive",
]
]
+2 -13
View File
@@ -7,6 +7,7 @@ from django.forms import (
CharField,
)
from django.forms import inlineformset_factory
from generic.forms import ExamFormMixin
from rapids.models import (
Abnormality,
@@ -227,7 +228,7 @@ AnswerUpdateFormSet = inlineformset_factory(
# This should be made generic?
class ExamForm(ModelForm):
class ExamForm(ExamFormMixin, ModelForm):
class Meta:
model = Exam
fields = [
@@ -243,15 +244,3 @@ class ExamForm(ModelForm):
"cid_user_groups",
"author",
]
def __init__(self, *args, **kwargs):
ModelForm.__init__(self, *args, **kwargs)
super(ExamForm, self).__init__(*args, **kwargs)
def save(self, commit=True):
instance = ModelForm.save(self, False)
instance.save()
self.save_m2m()
return instance
+6 -7
View File
@@ -836,12 +836,12 @@ class ExamCreate(RevisionMixin, LoginRequiredMixin, CreateView):
model = Exam
form_class = ExamForm
# def form_valid(self, form):
# self.object = form.save(commit=False)
# self.object.save()
#
# form.instance.author.add(self.request.user.id)
# return super().form_valid(form)
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.save()
form.instance.author.add(self.request.user.id)
return super().form_valid(form)
class ExamUpdate(
@@ -855,7 +855,6 @@ class ExamUpdate(
self.object.save()
form.instance.author.add(self.request.user.id)
return super().form_valid(form)