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'', }
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, }
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))
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'', }