2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-16 09:46:31 +00:00

More cleanup for modal forms

- Require 'ajax_template_name' to be set or weird things happen!
This commit is contained in:
Oliver Walters
2019-04-16 21:25:20 +10:00
parent c0dd253137
commit be60fbcc25
4 changed files with 69 additions and 11 deletions

View File

@@ -90,12 +90,16 @@ class AjaxMixin(object):
class AjaxView(AjaxMixin, View):
""" Bare-bones AjaxView """
# By default, point to the modal_form template
# (this can be overridden by a child class)
ajax_template_name = 'modal_form.html'
def post(self, request, *args, **kwargs):
return JsonResponse('', safe=False)
def get(self, request, *args, **kwargs):
return self.renderJsonResponse(request, **kwargs)
return self.renderJsonResponse(request)
class AjaxCreateView(AjaxMixin, CreateView):
@@ -151,13 +155,16 @@ class AjaxUpdateView(AjaxMixin, UpdateView):
"""
def get(self, request, *args, **kwargs):
html_response = super(UpdateView, self).get(request, *args, **kwargs)
if request.is_ajax():
form = self.form_class(instance=self.get_object())
return self.renderJsonResponse(request, form)
else:
return super(UpdateView, self).post(request, *args, **kwargs)
return html_response
def post(self, request, *args, **kwargs):
@@ -177,7 +184,7 @@ class AjaxUpdateView(AjaxMixin, UpdateView):
return response
else:
return response
return super(UpdateView, self).post(request, *args, **kwargs)