add user posts view
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from flask import Blueprint, redirect, url_for, render_template, request, session
|
||||
from flask import Blueprint, redirect, url_for, render_template, request, session, abort
|
||||
from functools import wraps
|
||||
import time
|
||||
|
||||
@@ -7,9 +7,10 @@ from ..auth import (
|
||||
is_logged_in, parse_username, is_password_valid,
|
||||
login_required
|
||||
)
|
||||
from ..models import Users
|
||||
from ..models import Users, Posts, Reactions
|
||||
from ..constants import PermissionLevel
|
||||
from secrets import compare_digest as compare_timesafe
|
||||
import math
|
||||
|
||||
bp = Blueprint('users', __name__, url_prefix='/users/')
|
||||
|
||||
@@ -104,6 +105,7 @@ def sign_up_post():
|
||||
|
||||
@bp.get('/<username>/')
|
||||
def user_page(username):
|
||||
username = username.lower()
|
||||
target_user = Users.find({'username': username})
|
||||
if not target_user:
|
||||
abort(404)
|
||||
@@ -111,25 +113,51 @@ def user_page(username):
|
||||
|
||||
@bp.get('/<username>/posts/')
|
||||
def posts(username):
|
||||
return 'stub'
|
||||
username = username.lower()
|
||||
if username == 'deleteduser':
|
||||
abort(404)
|
||||
target_user = Users.find({'username': username})
|
||||
PER_PAGE = 10
|
||||
posts_count = Posts.count({'user_id': target_user.id})
|
||||
page_count = max(1, math.ceil(posts_count / PER_PAGE))
|
||||
page = 1
|
||||
try:
|
||||
page = max(1, min(int(request.args.get('page', default=1)), page_count))
|
||||
except ValueError:
|
||||
abort(404)
|
||||
posts = target_user.get_posts(PER_PAGE, page)
|
||||
return render_template(
|
||||
'users/posts.html', posts=posts,
|
||||
page=page, page_count=page_count,
|
||||
target_user=target_user, Reactions=Reactions
|
||||
)
|
||||
|
||||
@bp.get('/<username>/threads/')
|
||||
def threads(username):
|
||||
username = username.lower()
|
||||
if username == 'deleteduser':
|
||||
abort(404)
|
||||
return 'stub'
|
||||
|
||||
@bp.get('/<username>/comments/')
|
||||
def comments(username):
|
||||
username = username.lower()
|
||||
if username == 'deleteduser':
|
||||
abort(404)
|
||||
return 'stub'
|
||||
|
||||
@bp.get('/<username>/settings/')
|
||||
def settings(username):
|
||||
username = username.lower()
|
||||
return 'stub'
|
||||
|
||||
@bp.get('/<username>/inbox/')
|
||||
def inbox(username):
|
||||
username = username.lower()
|
||||
return 'stub'
|
||||
|
||||
@bp.get('/<username>/bookmarks/')
|
||||
def bookmarks(username):
|
||||
username = username.lower()
|
||||
return 'stub'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user