def display_post(post_id): result = database.get_post(post_id) if result[0]: post = dict(id=result[1][0], title=result[1][1], content=result[1][2], author=result[1][3], posted=format_dt(result[1][4]), parent=result[1][5], locked=result[1][6], children=get_children(result[1][0],config.NESTING)) return render_user_page('display_post.html', post=post) else: abort(404)
def edit_post(post_id): if user.is_logged_in(): result = database.get_post(post_id) if not result[0]: return render_user_page('edit_post.html', error=result[1]) post = dict(id=result[1][0], title=result[1][1], content=result[1][2], author=result[1][3], posted=format_dt(result[1][4]), locked=result[1][6], pinned=result[1][7]) if post['locked'] and not user.is_admin(): return redirect(url_for('display_news')) if (user.get_name() == post['author'] or user.is_admin()): if request.method == 'POST': if user.is_admin(): locked = request.form.get('locked', 0) pinned = request.form.get('pinned', 0) else: locked = 0 pinned = 0 result = database.update_post(post_id, request.form['title'], request.form['content'], locked, pinned) if result[0]: flash('Post Updated.') redir = request.args.get('redirect', post_id) return redirect(url_for('display_post', post_id=redir)) else: return render_user_page('edit_post.html', error=result[1]) else: return render_user_page('edit_post.html', post=post) else: return redirect(url_for('display_news'))