def form_valid(self, form): details_form = forms.DataProviderDetailsForm(data=form.data) if not details_form.is_valid(): return self.form_invalid(form) super().form_valid(form) data = form.data.copy() data["data_provider"] = self.object.pk details_form = forms.DataProviderDetailsForm(data=data) details_form.save(created_by=self.object.created_by) messages.success(self.request, "The data provider was created successfully!") return HttpResponseRedirect(self.get_success_url())
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) if 'details' not in context: details = self.object.details.first() context['details'] = forms.DataProviderDetailsForm( instance=details) return context
def form_valid(self, form): details_form = forms.DataProviderDetailsForm(data=form.data) if not details_form.is_valid(): return self.form_invalid(form) self._update_objects(form) messages.success(self.request, "The data provider was updated successfully!") return HttpResponseRedirect(self.get_success_url())
def _update_objects(self, form): self.object = form.save() details = self.object.details.first() data = form.data.copy() data["data_provider"] = self.object.pk details_form = forms.DataProviderDetailsForm(instance=details, data=data) details_form.save()
def form_invalid(self, form): details_form = forms.DataProviderDetailsForm(form.data) details_form.is_valid() return self.render_to_response( self.get_context_data(form=form, details=details_form))
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) if 'details' not in context: context['details'] = forms.DataProviderDetailsForm() return context