Esempio n. 1
0
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))