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
+3 -1
View File
@@ -8,6 +8,8 @@ from django.forms import (
) )
from django.forms import inlineformset_factory from django.forms import inlineformset_factory
from generic.forms import ExamFormMixin
from .models import ( from .models import (
Answer, Answer,
CidUserAnswer, CidUserAnswer,
@@ -201,7 +203,7 @@ class BodyPartForm(ModelForm):
fields = ["bodypart"] fields = ["bodypart"]
class ExamForm(ModelForm): class ExamForm(ExamFormMixin, ModelForm):
class Meta: class Meta:
model = Exam model = Exam
fields = [ fields = [
+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 Exam as SbasExam
from sbas.models import Question as SbasQuestion 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 ExaminationForm(ModelForm):
class Meta: class Meta:
model = Examination model = Examination
+2 -1
View File
@@ -7,6 +7,7 @@ from django.forms import (
CharField, CharField,
) )
from django.forms import inlineformset_factory from django.forms import inlineformset_factory
from generic.forms import ExamFormMixin
from longs.models import ( from longs.models import (
# Examination, # Examination,
@@ -265,7 +266,7 @@ LongSeriesImageFormSet = inlineformset_factory(
) )
class ExamForm(ModelForm): class ExamForm(ExamFormMixin, ModelForm):
class Meta: class Meta:
model = Exam model = Exam
fields = [ fields = [
+2 -13
View File
@@ -7,6 +7,7 @@ from django.forms import (
CharField, CharField,
) )
from django.forms import inlineformset_factory from django.forms import inlineformset_factory
from generic.forms import ExamFormMixin
from rapids.models import ( from rapids.models import (
Abnormality, Abnormality,
@@ -227,7 +228,7 @@ AnswerUpdateFormSet = inlineformset_factory(
# This should be made generic? # This should be made generic?
class ExamForm(ModelForm): class ExamForm(ExamFormMixin, ModelForm):
class Meta: class Meta:
model = Exam model = Exam
fields = [ fields = [
@@ -243,15 +244,3 @@ class ExamForm(ModelForm):
"cid_user_groups", "cid_user_groups",
"author", "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 model = Exam
form_class = ExamForm form_class = ExamForm
# def form_valid(self, form): def form_valid(self, form):
# self.object = form.save(commit=False) self.object = form.save(commit=False)
# self.object.save() self.object.save()
#
# form.instance.author.add(self.request.user.id) form.instance.author.add(self.request.user.id)
# return super().form_valid(form) return super().form_valid(form)
class ExamUpdate( class ExamUpdate(
@@ -856,7 +856,6 @@ class ExamUpdate(
form.instance.author.add(self.request.user.id) form.instance.author.add(self.request.user.id)
return super().form_valid(form) return super().form_valid(form)