from flask import ( Blueprint, render_template, request, redirect, url_for ) from .users import login_required, mod_only from ..models import Users from ..db import db, DB bp = Blueprint("mod", __name__, url_prefix = "/mod/") @bp.get("/sort-topics") @login_required @mod_only("topics.all_topics") def sort_topics(): topics = db.query("SELECT * FROM topics ORDER BY sort_order ASC") return render_template("mod/sort-topics.html", topics = topics) @bp.post("/sort-topics") @login_required @mod_only("topics.all_topics") def sort_topics_post(): with db.transaction(): for topic_id, new_order in request.form.items(): db.execute("UPDATE topics SET sort_order = ? WHERE id = ?", new_order, topic_id) return redirect(url_for(".sort_topics")) @bp.get("/user-list") @login_required @mod_only("users.page", username = lambda: get_active_user().username) def user_list(): users = Users.select() return render_template("mod/user-list.html", users = users)