fix a number of issues and start adding resources

This commit is contained in:
Ross
2024-04-04 23:15:22 +01:00
parent 2fef934323
commit f13d1ba7e2
8 changed files with 174 additions and 6 deletions
+14 -2
View File
@@ -39,6 +39,7 @@ from .forms import (
CaseCollectionCaseFormSet,
CaseCollectionForm,
CaseForm,
CaseResourceFormSet,
CidReportAnswerForm,
CidReportAnswerMarkForm,
ConditionAutocompleteForm,
@@ -550,9 +551,9 @@ class CaseCollectionCreate(RevisionMixin, LoginRequiredMixin, CreateView):
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.save()
form.instance.author.add(self.request.user.id)
context = self.get_context_data(form=form)
case_formset = context["case_formset"]
if case_formset.is_valid():
@@ -773,14 +774,22 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
context["casedifferential_formset"] = CaseDifferentialFormSet(
self.request.POST, self.request.FILES
)
context["caseresource_formset"] = CaseResourceFormSet(
self.request.POST, self.request.FILES,
form_kwargs={"user": self.request.user},
)
context["series_formset"].full_clean()
context["casedifferential_formset"].full_clean()
context["caseresource_formset"].full_clean()
else:
# context["series_formset"] = SeriesFormSet(instance=Case.objects.filter(author__id=self.request.user.id), queryset=Series.objects.filter(author__id=self.request.user.id))
context["series_formset"] = SeriesFormSet(
form_kwargs={"user": self.request.user}
)
context["casedifferential_formset"] = CaseDifferentialFormSet()
context["caseresource_formset"] = CaseResourceFormSet(
form_kwargs={"user": self.request.user}
)
return context
def form_valid(self, form):
@@ -795,12 +804,15 @@ class AtlasCreateBase(RevisionMixin, LoginRequiredMixin):
context = self.get_context_data(form=form)
series_formset = context["series_formset"]
casedifferential_formset = context["casedifferential_formset"]
if series_formset.is_valid() and casedifferential_formset.is_valid():
caseresource_formset = context["caseresource_formset"]
if series_formset.is_valid() and casedifferential_formset.is_valid() and caseresource_formset.is_valid():
response = super().form_valid(form)
series_formset.instance = self.object
series_formset.save()
casedifferential_formset.instance = self.object
casedifferential_formset.save()
caseresource_formset.instance = self.object
caseresource_formset.save()
# If the normal submit button is pressed we save as normal
if "submit" in self.request.POST:
return response