.
This commit is contained in:
+26
-6
@@ -33,6 +33,7 @@ from .forms import (
|
|||||||
SeriesFormSet,
|
SeriesFormSet,
|
||||||
ExaminationForm,
|
ExaminationForm,
|
||||||
SeriesFindingForm,
|
SeriesFindingForm,
|
||||||
|
CaseDifferentialFormSet,
|
||||||
)
|
)
|
||||||
from .models import (
|
from .models import (
|
||||||
Case,
|
Case,
|
||||||
@@ -267,6 +268,7 @@ class SeriesUpdate(
|
|||||||
context["image_formset"] = SeriesImageFormSet(
|
context["image_formset"] = SeriesImageFormSet(
|
||||||
self.request.POST, self.request.FILES, instance=self.object
|
self.request.POST, self.request.FILES, instance=self.object
|
||||||
)
|
)
|
||||||
|
|
||||||
context["image_formset"].full_clean()
|
context["image_formset"].full_clean()
|
||||||
else:
|
else:
|
||||||
context["image_formset"] = SeriesImageFormSet(instance=self.object)
|
context["image_formset"] = SeriesImageFormSet(instance=self.object)
|
||||||
@@ -291,7 +293,7 @@ class SeriesUpdate(
|
|||||||
return super().form_invalid(form)
|
return super().form_invalid(form)
|
||||||
|
|
||||||
|
|
||||||
class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
|
||||||
model = Case
|
model = Case
|
||||||
form_class = CaseForm
|
form_class = CaseForm
|
||||||
|
|
||||||
@@ -306,9 +308,14 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
|||||||
context["series_formset"] = SeriesFormSet(
|
context["series_formset"] = SeriesFormSet(
|
||||||
self.request.POST, self.request.FILES
|
self.request.POST, self.request.FILES
|
||||||
)
|
)
|
||||||
|
context["casedifferential_formset"] = SeriesImageFormSet(
|
||||||
|
self.request.POST, self.request.FILES
|
||||||
|
)
|
||||||
|
context["series_formset"].full_clean()
|
||||||
context["series_formset"].full_clean()
|
context["series_formset"].full_clean()
|
||||||
else:
|
else:
|
||||||
context["series_formset"] = SeriesFormSet()
|
context["series_formset"] = SeriesFormSet()
|
||||||
|
context["casedifferential_formset"] = SeriesImageFormSet()
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
@@ -323,10 +330,13 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
|||||||
|
|
||||||
context = self.get_context_data(form=form)
|
context = self.get_context_data(form=form)
|
||||||
series_formset = context["series_formset"]
|
series_formset = context["series_formset"]
|
||||||
if series_formset.is_valid():
|
casedifferential_formset = context["casedifferential_formset"]
|
||||||
|
if series_formset.is_valid() and casedifferential_formset.is_valid():
|
||||||
response = super().form_valid(form)
|
response = super().form_valid(form)
|
||||||
series_formset.instance = self.object
|
series_formset.instance = self.object
|
||||||
series_formset.save()
|
series_formset.save()
|
||||||
|
casedifferential_formset.instance = self.object
|
||||||
|
casedifferential_formset.save()
|
||||||
# If the normal submit button is pressed we save as normal
|
# If the normal submit button is pressed we save as normal
|
||||||
if "submit" in self.request.POST:
|
if "submit" in self.request.POST:
|
||||||
return response
|
return response
|
||||||
@@ -339,7 +349,7 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin, CreateView):
|
|||||||
|
|
||||||
|
|
||||||
# @login_required
|
# @login_required
|
||||||
class AtlasCreate(AtlasCreateBase):
|
class AtlasCreate(AtlasCreateBase, CreateView):
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
# There has to be a better way...
|
# There has to be a better way...
|
||||||
try:
|
try:
|
||||||
@@ -372,9 +382,16 @@ class AtlasUpdate(
|
|||||||
context["series_formset"] = SeriesFormSet(
|
context["series_formset"] = SeriesFormSet(
|
||||||
self.request.POST, self.request.FILES, instance=self.object
|
self.request.POST, self.request.FILES, instance=self.object
|
||||||
)
|
)
|
||||||
|
context["casedifferential_formset"] = SeriesImageFormSet(
|
||||||
|
self.request.POST, self.request.FILES, instance=self.object
|
||||||
|
)
|
||||||
|
context["series_formset"].full_clean()
|
||||||
context["series_formset"].full_clean()
|
context["series_formset"].full_clean()
|
||||||
else:
|
else:
|
||||||
context["series_formset"] = SeriesFormSet(instance=self.object)
|
context["series_formset"] = SeriesFormSet(instance=self.object)
|
||||||
|
context["casedifferential_formset"] = SeriesImageFormSet(
|
||||||
|
instance=self.object
|
||||||
|
)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
@@ -386,18 +403,21 @@ class AtlasUpdate(
|
|||||||
|
|
||||||
context = self.get_context_data(form=form)
|
context = self.get_context_data(form=form)
|
||||||
series_formset = context["series_formset"]
|
series_formset = context["series_formset"]
|
||||||
|
casedifferential_formset = context["casedifferential_formset"]
|
||||||
# logger.debug(formset.is_valid())
|
# logger.debug(formset.is_valid())
|
||||||
if series_formset.is_valid():
|
if series_formset.is_valid() and casedifferential_formset.is_valid():
|
||||||
response = super().form_valid(form)
|
response = super().form_valid(form)
|
||||||
series_formset.instance = self.object
|
series_formset.instance = self.object
|
||||||
series_formset.save()
|
series_formset.save()
|
||||||
|
casedifferential_formset.instance = self.object
|
||||||
|
casedifferential_formset.save()
|
||||||
|
|
||||||
return response
|
return response
|
||||||
else:
|
else:
|
||||||
return super().form_invalid(form)
|
return super().form_invalid(form)
|
||||||
|
|
||||||
|
|
||||||
class AtlasClone(AtlasCreateBase):
|
class AtlasClone(AtlasCreateBase, CreateView):
|
||||||
"""Clones a existing atlas"""
|
"""Clones a existing atlas"""
|
||||||
|
|
||||||
# fields = '__all__'
|
# fields = '__all__'
|
||||||
@@ -574,7 +594,7 @@ class ConditionAutocomplete(autocomplete.Select2QuerySetView):
|
|||||||
if self.q:
|
if self.q:
|
||||||
# This raises a fielderror which breaks creating a new item if not caught
|
# This raises a fielderror which breaks creating a new item if not caught
|
||||||
try:
|
try:
|
||||||
qs = qs.filter(name__istartswith=self.q)
|
qs = qs.filter(name__contains=self.q)
|
||||||
except FieldError:
|
except FieldError:
|
||||||
return Condition.objects.none()
|
return Condition.objects.none()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user