mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 12:06:44 +00:00
Simplify AjaxUpdateView
- Using get_form() is MUCH simpler
This commit is contained in:
parent
96a15453c4
commit
72ff25e0c1
@ -184,7 +184,6 @@ class AjaxCreateView(AjaxMixin, CreateView):
|
|||||||
|
|
||||||
|
|
||||||
class AjaxUpdateView(AjaxMixin, UpdateView):
|
class AjaxUpdateView(AjaxMixin, UpdateView):
|
||||||
|
|
||||||
""" An 'AJAXified' UpdateView for updating an object in the db
|
""" An 'AJAXified' UpdateView for updating an object in the db
|
||||||
- Returns form in JSON format (for delivery to a modal window)
|
- Returns form in JSON format (for delivery to a modal window)
|
||||||
- Handles repeated form validation (via AJAX) until the form is valid
|
- Handles repeated form validation (via AJAX) until the form is valid
|
||||||
@ -192,35 +191,31 @@ class AjaxUpdateView(AjaxMixin, UpdateView):
|
|||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
|
|
||||||
html_response = super(UpdateView, self).get(request, *args, **kwargs)
|
super(UpdateView, self).get(request, *args, **kwargs)
|
||||||
|
|
||||||
if request.is_ajax():
|
form = self.get_form()
|
||||||
form = self.form_class(instance=self.get_object())
|
# form = self.form_class(instance=self.get_object())
|
||||||
|
|
||||||
return self.renderJsonResponse(request, form)
|
return self.renderJsonResponse(request, form)
|
||||||
|
|
||||||
else:
|
|
||||||
return html_response
|
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
|
|
||||||
form = self.form_class(instance=self.get_object(), data=request.POST, files=request.FILES)
|
super(UpdateView, self).post(request, *args, **kwargs)
|
||||||
|
|
||||||
if request.is_ajax():
|
form = self.get_form()
|
||||||
|
|
||||||
data = {'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()
|
||||||
|
|
||||||
|
# Include context data about the updated object
|
||||||
|
data['pk'] = obj.id
|
||||||
|
data['url'] = obj.get_absolute_url()
|
||||||
|
|
||||||
data['pk'] = obj.id
|
return self.renderJsonResponse(request, form, data)
|
||||||
data['url'] = obj.get_absolute_url()
|
|
||||||
|
|
||||||
response = self.renderJsonResponse(request, form, data)
|
|
||||||
return response
|
|
||||||
|
|
||||||
else:
|
|
||||||
return super(UpdateView, self).post(request, *args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class AjaxDeleteView(AjaxMixin, DeleteView):
|
class AjaxDeleteView(AjaxMixin, DeleteView):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user