def edit_post(post_id): post = Post.query.filter_by(id=post_id).first_or_404() if not Permission(CanEditPost): flash(_("You do not have the permissions to edit this post."), "danger") return redirect(post.topic.url) form = ReplyForm() if form.validate_on_submit(): if "preview" in request.form: return render_template("forum/new_post.html", topic=post.topic, form=form, preview=form.content.data) else: form.populate_obj(post) post.date_modified = time_utcnow() post.modified_by = current_user.username post.save() return redirect(post.topic.url) else: form.content.data = post.content return render_template("forum/new_post.html", topic=post.topic, form=form)
def edit_post(post_id): post = Post.query.filter_by(id=post_id).first_or_404() if post.topic.forum.locked: flash("This forum is locked; you cannot submit new topics or posts.", "danger") return redirect(post.topic.forum.url) if post.topic.locked: flash("The topic is locked.", "danger") return redirect(post.topic.forum.url) if not can_edit_post(user=current_user, forum=post.topic.forum, post_user_id=post.user_id): flash("You do not have the permissions to edit this post", "danger") return redirect(post.topic.url) form = ReplyForm() if form.validate_on_submit(): if request.form['button'] == 'preview': return render_template("forum/new_post.html", topic=post.topic, form=form, preview=form.content.data) else: form.populate_obj(post) post.date_modified = datetime.datetime.utcnow() post.modified_by = current_user.username post.save() return redirect(post.topic.url) else: form.content.data = post.content return render_template("forum/new_post.html", topic=post.topic, form=form)
def reply_post(topic_id, post_id): topic = Topic.query.filter_by(id=topic_id).first_or_404() post = Post.query.filter_by(id=post_id).first_or_404() if post.topic.forum.locked: flash("This forum is locked; you cannot submit new topics or posts.", "danger") return redirect(post.topic.forum.url) if post.topic.locked: flash("The topic is locked.", "danger") return redirect(post.topic.forum.url) if not can_post_reply(user=current_user, forum=topic.forum): flash("You do not have the permissions to post in this topic", "danger") return redirect(topic.forum.url) form = ReplyForm() if form.validate_on_submit(): if request.form['button'] == 'preview': return render_template("forum/new_post.html", topic=topic, form=form, preview=form.content.data) else: form.save(current_user, topic) return redirect(post.topic.url) else: form.content.data = '[quote]{}[/quote]'.format(post.content) return render_template("forum/new_post.html", topic=post.topic, form=form)
def new_post(topic_id, slug=None): topic = Topic.query.filter_by(id=topic_id).first_or_404() if not Permission(CanPostReply): flash(_("You do not have the permissions to post in this topic."), "danger") return redirect(topic.forum.url) form = ReplyForm() if form.validate_on_submit(): if "preview" in request.form: return render_template("forum/new_post.html", topic=topic, form=form, preview=form.content.data) else: post = form.save(current_user, topic) return view_post(post.id) return render_template("forum/new_post.html", topic=topic, form=form)
def reply_post(topic_id, post_id): topic = Topic.query.filter_by(id=topic_id).first_or_404() post = Post.query.filter_by(id=post_id).first_or_404() if not can_post_reply(user=current_user, topic=topic): flash(_("You do not have the permissions to post in this topic."), "danger") return redirect(topic.forum.url) form = ReplyForm() if form.validate_on_submit(): if "preview" in request.form: return render_template("forum/new_post.html", topic=topic, form=form, preview=form.content.data) else: form.save(current_user, topic) return redirect(post.topic.url) else: form.content.data = format_quote(post) return render_template("forum/new_post.html", topic=post.topic, form=form)
def form(self, **kwargs): current_app.pluggy.hook.flaskbb_form_post(form=ReplyForm) return ReplyForm(**kwargs)
def form(self): current_app.pluggy.hook.flaskbb_form_new_post(form=ReplyForm) return ReplyForm()