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))
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))
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)