34 lines
1003 B
Python
34 lines
1003 B
Python
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)
|