Example #1
0
def post_comment(slug):
    post = post_service.get_by_slug(slug)
    if not post:
        return theme_render('404.html', page_title='Not Found')

    if post and not post.allow_comment:
        return redirect(url_for('site.post', slug=slug))

    p = request.form.get
    name = p('name', default='')
    email = p('email', default='')
    content = p('content', default='')

    name, content, email = name.strip(), content.strip(), email.strip()

    validator = Validator()
    (validator.check(email, 'email', text('comment.email_missing'))
        .check(content, 'min', text('comment.email_missing'), 1)
     )

    if validator.errors:
        flash(validator.errors, 'error')
        return redirect(url_for('site.post', slug=slug))

    status = config.get(
        'auto_published_comments', False) and 'approved' or 'pending'
    comment_service.add_comment(name, email, content, status, post)

    return redirect(url_for('site.post', slug=slug))
Example #2
0
def post_comment(slug):
    post = post_service.get_by_slug(slug)
    if not post:
        return theme_render('404.html', page_title='Not Found')

    if post and not post.allow_comment:
        return redirect(url_for('site.post', slug=slug))

    p = request.form.get
    name = p('name', default='')
    email = p('email', default='')
    content = p('content', default='')

    name, content, email = name.strip(), content.strip(), email.strip()

    validator = Validator()
    (validator.check(email, 'email', text('comment.email_missing')).check(
        content, 'min', text('comment.email_missing'), 1))

    if validator.errors:
        flash(validator.errors, 'error')
        return redirect(url_for('site.post', slug=slug))

    status = config.get('auto_published_comments',
                        False) and 'approved' or 'pending'
    comment_service.add_comment(name, email, content, status, post)

    return redirect(url_for('site.post', slug=slug))
Example #3
0
def page(slug=None):
    if slug:
        if slug == 'admin':
            return post_page()
        elif slug == 'search':
            return search()
        elif slug == 'rss':
            return feed_rss()

        slug = slug.split('/')[-1]
        page = page_service.get_by_slug(slug)
    else:
        site_page = config.get('site_page', 0)
        if site_page == 0:
            return posts()
        else:
            page = page_service.get(site_page)

    if not page:
        abort(404)
    return theme_render('page.html',
                        page_content=page.content,
                        page_title=page.title,
                        page=page)
Example #4
0
def page(slug=None):
    if slug:
        if slug == 'admin':
            return post_page()
        elif slug == 'search':
            return search()
        elif slug == 'rss':
            return feed_rss()

        slug = slug.split('/')[-1]
        page = page_service.get_by_slug(slug)
    else:
        site_page = config.get('site_page', 0)
        if site_page == 0:
            return posts()
        else:
            page = page_service.get(site_page)

    if not page:
        abort(404)
    return theme_render('page.html',
                        page_content=page.content,
                        page_title=page.title,
                        page=page)