From 87dbc43d138cdd21f64a0e87d1010f86095eadb3 Mon Sep 17 00:00:00 2001 From: ubq323 Date: Thu, 22 Jul 2021 18:35:01 +0000 Subject: add 'sort threads by' thing, ui styling is very bad atm --- apioforum/forum.py | 12 +++++++++--- apioforum/static/style.css | 3 ++- apioforum/templates/view_forum.html | 10 ++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/apioforum/forum.py b/apioforum/forum.py index e03ca01..a0ec968 100644 --- a/apioforum/forum.py +++ b/apioforum/forum.py @@ -3,7 +3,7 @@ from flask import ( Blueprint, render_template, request, - g, redirect, url_for, flash + g, redirect, url_for, flash, abort ) from .db import get_db @@ -46,9 +46,15 @@ def forum_path(forum_id): @bp.route("/") def view_forum(forum_id): db = get_db() + sortby = request.args.get("sortby","ad") + try: + sortby_dir = {'d':'DESC','a':'ASC'}[sortby[1]] + sortby_by = {'a':'threads.updated','c':'threads.created'}[sortby[0]] + except KeyError: + return redirect(url_for('forum.view_forum',forum_id=forum_id)) forum = db.execute("SELECT * FROM forums WHERE id = ?",(forum_id,)).fetchone() threads = db.execute( - """SELECT + f"""SELECT threads.id, threads.title, threads.creator, threads.created, threads.updated, threads.poll, number_of_posts.num_replies, most_recent_posts.created as mrp_created, @@ -59,7 +65,7 @@ def view_forum(forum_id): INNER JOIN most_recent_posts ON most_recent_posts.thread = threads.id INNER JOIN number_of_posts ON number_of_posts.thread = threads.id WHERE threads.forum = ? - ORDER BY threads.updated DESC; + ORDER BY {sortby_by} {sortby_dir}; """,(forum_id,)).fetchall() thread_tags = {} thread_polls = {} diff --git a/apioforum/static/style.css b/apioforum/static/style.css index 1f089a0..ea8cabb 100644 --- a/apioforum/static/style.css +++ b/apioforum/static/style.css @@ -220,4 +220,5 @@ blockquote { content: "/\00a0"; padding: 8px; } - + + diff --git a/apioforum/templates/view_forum.html b/apioforum/templates/view_forum.html index 475fdc2..978f1a2 100644 --- a/apioforum/templates/view_forum.html +++ b/apioforum/templates/view_forum.html @@ -49,6 +49,16 @@ {% else %} please log in to create a new thread {% endif %} +
+ + + +

{%for thread in threads%} -- cgit v1.2.3