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