[1.5.x] Fixed #20270 -- Fixed error in AjaxResponseMixin documentation

Backport of 73c26f0c95 from master.
This commit is contained in:
Baptiste Mispelon 2013-04-22 19:04:28 +02:00 committed by Claude Paroz
parent 4376a64524
commit 6bb8df0a98
1 changed files with 8 additions and 3 deletions

View File

@ -237,19 +237,24 @@ works for AJAX requests as well as 'normal' form POSTs::
return HttpResponse(data, **response_kwargs) return HttpResponse(data, **response_kwargs)
def form_invalid(self, form): def form_invalid(self, form):
response = super(AjaxableResponseMixin, self).form_invalid(form)
if self.request.is_ajax(): if self.request.is_ajax():
return self.render_to_json_response(form.errors, status=400) return self.render_to_json_response(form.errors, status=400)
else: else:
return super(AjaxableResponseMixin, self).form_invalid(form) return response
def form_valid(self, form): def form_valid(self, form):
# We make sure to call the parent's form_valid() method because
# it might do some processing (in the case of CreateView, it will
# call form.save() for example).
response = super(AjaxableResponseMixin, self).form_valid(form)
if self.request.is_ajax(): if self.request.is_ajax():
data = { data = {
'pk': form.instance.pk, 'pk': self.object.pk,
} }
return self.render_to_json_response(data) return self.render_to_json_response(data)
else: else:
return super(AjaxableResponseMixin, self).form_valid(form) return response
class AuthorCreate(AjaxableResponseMixin, CreateView): class AuthorCreate(AjaxableResponseMixin, CreateView):
model = Author model = Author