Beispiel #1
0
def post_edit(request):
    """
    View: Form for editing of blog post.
    """
    post = request.context
    blog = post.blog
    if request.POST:
        # got post data, let's try to save:
        post.date = request.POST.getone('date')
        post.title = request.POST.getone('title')
        post.slug = slugify(request.POST.getone('slug'))
        post.content = request.POST.getone('content')
        if post.slug == u'':
            post.slug = slugify(post.title)
        post.published = (request.POST.get('published', 'not') == u'published')
        post.set_item_tags_by_string(request.POST.getone('tags'))
        post.set_item_categories_by_string(request.POST.getone('cats'))
        DBSession.flush()
        raise HTTPFound(request.resource_url(post))
    
    return {
        'Title':u'Edit post: %s' % post.title,
        'blog':blog,
        'post':post,
        'published_checked':u'checked' if post.published else u'',
    }
Beispiel #2
0
def newpage(request):
    parent = request.context
    title = u''
    slug = u''
    content = u''
    if request.POST:
        slug = slugify(request.POST.getone('slug'))
        if slug == u'':
            slug = None
        page = Page(
            title=request.POST.getone('title'),
            content=request.POST.getone('content'),
            parent=parent,
            slug=slug,
        )
        page.creator = request.user
        if page.slug == u'':
            page.slug = 'xxx'
        slug = page.slug
        DBSession.add(page)
        # copy permissions from parent
        parent_perms = DBSession.query(ItemPermission).filter_by(item=parent).all()
        for parent_perm in parent_perms:
            perm = ItemPermission(item=page, auth=parent_perm.auth, permission=parent_perm.permission)
            DBSession.add(perm)
        DBSession.flush()
        page = DBSession.query(Page).filter_by(parent=parent, slug=slug).one()
        raise HTTPFound(request.resource_url(page))
    return {
        'Title':'Create new page',
        'parent_page':parent,
        'title':title,
        'slug':slug,
        'content':content,
    }
Beispiel #3
0
def post_save(request):
    """
    View: Save post after edit.
    """
    post = request.context
    post.date = request.POST.getone('date')
    post.title = request.POST.getone('title')
    post.slug = slugify(request.POST.getone('slug'))
    post.content = request.POST.getone('content')
    request.db.flush()
    return HTTPFound(request.resource_url(post))
Beispiel #4
0
def post_form(request):
    """View: Form for posting a new post in blog.
    """
    blog = request.context
    title = u''
    slug = u''
    content = u''
    date = datetime.date.today()
    published = False
    tags = u''
    cats = u''
    if request.POST:
        # got post data, let's try to save:
        post = Post(blog=blog)
        post.date = request.POST.get('date', datetime.date.today())
        post.title = request.POST.getone('title')
        post.slug = slugify(request.POST.getone('slug'))
        post.content = request.POST.getone('content')
        post.creator = request.user
        post.set_item_tags_by_string(request.POST.getone('tags'))
        post.set_item_categories_by_string(request.POST.getone('cats'))
        if post.slug == u'':
            post.slug = slugify(post.title)
        post.published = (request.POST.get('published', 'not') == u'published')
        DBSession.flush()
#        return Response('a')
        raise HTTPFound(request.resource_url(blog))

    return {
        'Title':u'Create new post',
        'blog':blog,
        'title':title,
        'slug':slug,
        'content':content,
        'date':date,
        'tags':tags,
        'cats':cats,
        'published_checked':u'checked' if published else u'',
    }