2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-08-23 11:55:54 +00:00

Modal form is working for 'create new category'

- Had to set form.helper.form_tag to False (so we could control form tags manually)
- Created a 'json' model view
This commit is contained in:
Oliver
2018-04-25 12:46:58 +10:00
parent 9004086632
commit 8bc4050d05
5 changed files with 84 additions and 24 deletions

View File

@@ -1,8 +1,11 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.template.loader import render_to_string
from django.shortcuts import get_object_or_404
from django.http import HttpResponseRedirect
from django.http import JsonResponse
from django.views.generic import DetailView, ListView
from django.views.generic.edit import UpdateView, DeleteView, CreateView
@@ -130,6 +133,42 @@ class CategoryDelete(DeleteView):
return HttpResponseRedirect(self.get_object().get_absolute_url())
class CategoryCreateJson(CreateView):
model = PartCategory
template_name = 'part/partial_category_new.html'
form_class = EditCategoryForm
def renderJsonResponse(self, request, form, data):
context = {'form': form}
data['html_form'] = render_to_string(self.template_name,
context,
request=request)
return JsonResponse(data)
def post(self, request):
form = self.form_class(request.POST)
data = {}
if form.is_valid():
form.save()
data['form_valid'] = True
else:
data['form_valid'] = False
return self.renderJsonResponse(request, form, data)
def get(self, request, *args, **kwargs):
form = self.form_class()
data = {}
return self.renderJsonResponse(request, form, data)
class CategoryCreate(CreateView):
model = PartCategory
template_name = 'part/partial_category_new.html'