def edit_forum(forum_id): forum = Forum.query.filter_by(id=forum_id).first() form = ForumForm() form._id = forum.id # Used for validation only. if form.validate_on_submit(): forum.title = form.title.data forum.description = form.description.data forum.position = form.position.data forum.parent_id = form.parent.data.id forum.is_category = form.is_category.data forum.locked = form.locked.data forum.save() flash("Forum successfully edited.", "success") return redirect(url_for("admin.edit_forum", forum_id=forum.id)) else: form.title.data = forum.title form.description.data = forum.description form.position.data = forum.position form.parent.data = forum.parent form.is_category.data = forum.is_category form.locked.data = forum.locked #form.moderators.data = forum.moderators return render_template("admin/edit_forum.html", form=form)
def add_forum(): form = ForumForm() if form.validate_on_submit(): form.save() flash("Forum successfully added.", "success") return redirect(url_for("admin.forums")) return render_template("admin/edit_forum.html", form=form)
def edit_forum(forum_id): forum = Forum.query.filter_by(id=forum_id).first_or_404() form = ForumForm() form._id = forum.id # Used for validation only. if form.validate_on_submit(): forum.title = form.title.data forum.description = form.description.data forum.position = form.position.data forum.is_category = form.is_category.data forum.locked = form.locked.data if form.moderators.data: forum.moderators = form.moderators.data if hasattr(form.parent.data, 'id'): forum.parent_id = form.parent.data.id else: forum.parent_id = form.parent.data forum.save() flash("Forum successfully edited.", "success") return redirect(url_for("admin.edit_forum", forum_id=forum.id)) else: form.title.data = forum.title form.description.data = forum.description form.position.data = forum.position form.parent.data = forum.parent form.is_category.data = forum.is_category form.locked.data = forum.locked if forum.moderators: mods = User.query.filter(User.id.in_(forum.moderators)).all() form.moderators.data = ",".join([mod.username for mod in mods]) else: form.moderators.data = None return render_template("admin/edit_forum.html", form=form)