2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-03 22:08:49 +00:00

Simplify AjaxCreateView

- Screams in reading the documentation
This commit is contained in:
Oliver Walters 2019-04-28 10:35:17 +10:00
parent cd438f0569
commit 96a15453c4

View File

@ -150,23 +150,24 @@ class AjaxCreateView(AjaxMixin, CreateView):
"""
def get(self, request, *args, **kwargs):
""" Creates form with initial data, and renders JSON response """
response = super(CreateView, self).get(request, *args, **kwargs)
if request.is_ajax():
# Initialize a a new form
form = self.form_class(initial=self.get_initial())
super(CreateView, self).get(request, *args, **kwargs)
form = self.get_form()
return self.renderJsonResponse(request, form)
else:
return response
def post(self, request, *args, **kwargs):
form = self.form_class(data=request.POST, files=request.FILES)
""" Responds to form POST. Validates POST data and returns status info.
if request.is_ajax():
Steps:
1. Validate POST form data
2. If valid, save form
3. Return status info (success / failure)
"""
form = self.get_form()
# Extra JSON data sent alongside form
data = {
'form_valid': form.is_valid(),
}
@ -181,9 +182,6 @@ class AjaxCreateView(AjaxMixin, CreateView):
return self.renderJsonResponse(request, form, data)
else:
return super(CreateView, self).post(request, *args, **kwargs)
class AjaxUpdateView(AjaxMixin, UpdateView):