Example #1
0
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)
Example #2
0
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)
Example #3
0
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)