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:
parent
cd438f0569
commit
96a15453c4
@ -150,39 +150,37 @@ class AjaxCreateView(AjaxMixin, CreateView):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
|
""" Creates form with initial data, and renders JSON response """
|
||||||
|
|
||||||
response = super(CreateView, self).get(request, *args, **kwargs)
|
super(CreateView, self).get(request, *args, **kwargs)
|
||||||
|
|
||||||
if request.is_ajax():
|
form = self.get_form()
|
||||||
# Initialize a a new form
|
return self.renderJsonResponse(request, form)
|
||||||
form = self.form_class(initial=self.get_initial())
|
|
||||||
|
|
||||||
return self.renderJsonResponse(request, form)
|
|
||||||
|
|
||||||
else:
|
|
||||||
return response
|
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
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()
|
||||||
|
|
||||||
data = {
|
# Extra JSON data sent alongside form
|
||||||
'form_valid': form.is_valid(),
|
data = {
|
||||||
}
|
'form_valid': form.is_valid(),
|
||||||
|
}
|
||||||
|
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
obj = form.save()
|
obj = form.save()
|
||||||
|
|
||||||
# Return the PK of the newly-created object
|
# Return the PK of the newly-created object
|
||||||
data['pk'] = obj.pk
|
data['pk'] = obj.pk
|
||||||
|
|
||||||
data['url'] = obj.get_absolute_url()
|
data['url'] = obj.get_absolute_url()
|
||||||
|
|
||||||
return self.renderJsonResponse(request, form, data)
|
return self.renderJsonResponse(request, form, data)
|
||||||
|
|
||||||
else:
|
|
||||||
return super(CreateView, self).post(request, *args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class AjaxUpdateView(AjaxMixin, UpdateView):
|
class AjaxUpdateView(AjaxMixin, UpdateView):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user