def new_menuitem(request): """Create a new menu item - return html for ajax injection""" tree_id = request.site.id if request.method == 'POST' and request.user.is_superuser: form = MenuForm(request.POST) if form.is_valid(): menu = form.save(commit=False) if not Menu.objects.filter(tree_id=tree_id, url=menu.url): menu.user = request.user menu.insert_at(menu.parent, 'last-child', True) #TODO: invalidate return HttpResponseRedirect(reverse("menu-list")) else: menu = Menu() menu.tree_id = tree_id if request.method == 'GET' and 'parent_id' in request.GET: menu.parent_id = request.GET['parent_id'] form = MenuForm(instance=menu) return render_to_response( 'samklang_menu/new_item.html', {'form': form}, context_instance=RequestContext(request))