예제 #1
0
def wiki_page_edit(request, page_path, _page_obj=None):
    page = _page_obj or WikiPage.get_object_by_path(page_path)

    preview_action = request.POST and 'preview' in request.POST

    if request.POST:
        form = WikiPageForm(data=request.POST, initial={'author':request.user}, instance=page)
        if form.is_valid():
            page = form.save(commit=False)
            if not preview_action:
                pages = WikiPage.make_path(page_path, kwargs={'author':request.user})
                if pages:
                    page.parent_page = pages[-1]
                page.title = WikiPage.get_title_from_path(page_path)
                print page_path
                print page.title
                page.author = request.user
                page.save()
                return redirect('wiki_page', page_path=page_path)
    else:
        form = WikiPageForm(initial={'author':request.user}, instance=page)
    context = {}
    context['page'] = page
    context['page_path'] = page_path
    context['form'] = form
    context['preview_action'] = preview_action
    return context
예제 #2
0
 def test_make_path(self):
     page = mommy.make_one(WikiPage, title='p1')
     page2 = mommy.make_one(WikiPage, title='p2', parent_page=page)
     pages = WikiPage.make_path('p1/p2/p3')
     assert page.id == pages[0].id
     assert page2.id == pages[1].id
     assert len(pages) == 2
예제 #3
0
    def test_make_path_one(self):
        page = mommy.make_one(WikiPage, title='p1')

        pages = WikiPage.make_path('p1')
        assert len(pages) == 0
        assert WikiPage.objects.count() == 1
예제 #4
0
 def test_make_path_one_parent(self):
     page = mommy.make_one(WikiPage, title='p1')
     pages = WikiPage.make_path('p1/p2')
     assert page.id == pages[0].id
     assert len(pages) == 1