diff options
author | ubq323 <ubq323> | 2021-06-14 15:06:17 +0000 |
---|---|---|
committer | ubq323 <ubq323> | 2021-06-14 15:06:17 +0000 |
commit | 83e932b42be2bab7390e9669fafcbd2d7e934a1b (patch) | |
tree | 40da7b7f32994b09dfc21277d597f96f8b31111c | |
parent | 967da4c39e4768aa3d0c6dca11046f032bcabd9c (diff) |
post ids are clickable and linkable; creating or editing posts scrolls down to affected post
-rw-r--r-- | apioforum/static/style.css | 2 | ||||
-rw-r--r-- | apioforum/templates/common.html | 4 | ||||
-rw-r--r-- | apioforum/thread.py | 14 |
3 files changed, 13 insertions, 7 deletions
diff --git a/apioforum/static/style.css b/apioforum/static/style.css index 46115db..33fd433 100644 --- a/apioforum/static/style.css +++ b/apioforum/static/style.css @@ -28,6 +28,8 @@ body { font-family: sans-serif } .post-heading-a { margin-left: 0.2em } .post-heading-b { float: right; margin-right: 0.5em } +.post-anchor-link { color: hsl(0,0%,25%); } + .un-col-1 { color: hsl(0, 100%, 30%) } .un-col-2 { color: hsl(22.5, 100%, 30%) } .un-col-3 { color: hsl(45.0, 100%, 30%) } diff --git a/apioforum/templates/common.html b/apioforum/templates/common.html index 461299d..2206ac3 100644 --- a/apioforum/templates/common.html +++ b/apioforum/templates/common.html @@ -1,5 +1,5 @@ {% macro disp_post(post, buttons=False) %} -<div class="post"> +<div class="post" id="post_{{post.id}}"> <div class="post-heading"> <span class="post-heading-a"> <span class="post-heading-em">{{post.author}}</span> {{ts(post.created)}} @@ -14,7 +14,7 @@ <a class="actionbutton" href="{{url_for('thread.delete_post',post_id=post.id)}}">delete</a> {% endif %} - #{{post.id}} + <a class="post-anchor-link" href="#post_{{post.id}}">#{{post.id}}</a> </span> </div> <div class="post-content"> diff --git a/apioforum/thread.py b/apioforum/thread.py index 3378982..630cb33 100644 --- a/apioforum/thread.py +++ b/apioforum/thread.py @@ -9,6 +9,9 @@ from .mdrender import render bp = Blueprint("thread", __name__, url_prefix="/thread") +def post_jump(thread_id, post_id): + return url_for("thread.view_thread",thread_id=thread_id)+"#post_"+str(post_id) + @bp.route("/<int:thread_id>") def view_thread(thread_id): db = get_db() @@ -37,17 +40,19 @@ def create_post(thread_id): elif not thread: flash("that thread does not exist") else: - db.execute( + cur = db.cursor() + cur.execute( "INSERT INTO posts (thread,author,content,created) VALUES (?,?,?,current_timestamp);", (thread_id,g.user,content) ) - db.execute( + post_id = cur.lastrowid + cur.execute( "UPDATE threads SET updated = current_timestamp WHERE id = ?;", (thread_id,) ) db.commit() flash("post posted postfully") - return redirect(url_for('thread.view_thread',thread_id=thread_id)) + return redirect(post_jump(thread_id, post_id)) @bp.route("/delete_post/<int:post_id>", methods=["GET","POST"]) def delete_post(post_id): @@ -91,12 +96,11 @@ def edit_post(post_id): err="post contents can't be empty" print(err) if err is None: - print("a") db.execute( "UPDATE posts SET content = ?, edited = 1, updated = current_timestamp WHERE id = ?",(newcontent,post_id)) db.commit() flash("post edited editiously") - return redirect(url_for("thread.view_thread",thread_id=post['thread'])) + return redirect(post_jump(post['thread'],post_id)) else: flash(err) return render_template("edit_post.html",post=post) |