forked from rDrama/rDrama
use new pagination system in /followers and /following
parent
af74a752ad
commit
60ecfbd65b
|
@ -718,28 +718,6 @@ def user_id(id):
|
||||||
def redditor_moment_redirect(v:User, username:str):
|
def redditor_moment_redirect(v:User, username:str):
|
||||||
return redirect(f"/@{username}")
|
return redirect(f"/@{username}")
|
||||||
|
|
||||||
@app.get("/@<username>/followers")
|
|
||||||
@limiter.limit(DEFAULT_RATELIMIT)
|
|
||||||
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
|
||||||
@auth_required
|
|
||||||
def followers(v:User, username:str):
|
|
||||||
u = get_user(username, v=v)
|
|
||||||
|
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_FOLLOWS_VISIBLE']):
|
|
||||||
abort(403)
|
|
||||||
|
|
||||||
page = get_page()
|
|
||||||
|
|
||||||
users = g.db.query(Follow, User).join(Follow, Follow.target_id == u.id) \
|
|
||||||
.filter(Follow.user_id == User.id) \
|
|
||||||
.order_by(Follow.created_utc.desc()) \
|
|
||||||
.offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE + 1).all()
|
|
||||||
|
|
||||||
next_exists = (len(users) > PAGE_SIZE)
|
|
||||||
users = users[:PAGE_SIZE]
|
|
||||||
|
|
||||||
return render_template("userpage/followers.html", v=v, u=u, users=users, page=page, next_exists=next_exists)
|
|
||||||
|
|
||||||
@app.get("/@<username>/blockers")
|
@app.get("/@<username>/blockers")
|
||||||
@limiter.limit(DEFAULT_RATELIMIT)
|
@limiter.limit(DEFAULT_RATELIMIT)
|
||||||
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
||||||
|
@ -759,6 +737,28 @@ def blockers(v:User, username:str):
|
||||||
|
|
||||||
return render_template("userpage/blockers.html", v=v, u=u, users=users, page=page, next_exists=next_exists)
|
return render_template("userpage/blockers.html", v=v, u=u, users=users, page=page, next_exists=next_exists)
|
||||||
|
|
||||||
|
@app.get("/@<username>/followers")
|
||||||
|
@limiter.limit(DEFAULT_RATELIMIT)
|
||||||
|
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
||||||
|
@auth_required
|
||||||
|
def followers(v:User, username:str):
|
||||||
|
u = get_user(username, v=v)
|
||||||
|
|
||||||
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_FOLLOWS_VISIBLE']):
|
||||||
|
abort(403)
|
||||||
|
|
||||||
|
page = get_page()
|
||||||
|
|
||||||
|
users = g.db.query(Follow, User).join(Follow, Follow.target_id == u.id) \
|
||||||
|
.filter(Follow.user_id == User.id)
|
||||||
|
|
||||||
|
next_exists = users.count()
|
||||||
|
|
||||||
|
users = users.order_by(Follow.created_utc.desc()) \
|
||||||
|
.offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE).all()
|
||||||
|
|
||||||
|
return render_template("userpage/followers.html", v=v, u=u, users=users, page=page, next_exists=next_exists)
|
||||||
|
|
||||||
@app.get("/@<username>/following")
|
@app.get("/@<username>/following")
|
||||||
@limiter.limit(DEFAULT_RATELIMIT)
|
@limiter.limit(DEFAULT_RATELIMIT)
|
||||||
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
@limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID)
|
||||||
|
@ -771,12 +771,12 @@ def following(v:User, username:str):
|
||||||
page = get_page()
|
page = get_page()
|
||||||
|
|
||||||
users = g.db.query(User).join(Follow, Follow.user_id == u.id) \
|
users = g.db.query(User).join(Follow, Follow.user_id == u.id) \
|
||||||
.filter(Follow.target_id == User.id) \
|
.filter(Follow.target_id == User.id)
|
||||||
.order_by(Follow.created_utc.desc()) \
|
|
||||||
.offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE + 1).all()
|
|
||||||
|
|
||||||
next_exists = (len(users) > PAGE_SIZE)
|
next_exists = users.count()
|
||||||
users = users[:PAGE_SIZE]
|
|
||||||
|
users = users.order_by(Follow.created_utc.desc()) \
|
||||||
|
.offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE).all()
|
||||||
|
|
||||||
return render_template("userpage/following.html", v=v, u=u, users=users, page=page, next_exists=next_exists)
|
return render_template("userpage/following.html", v=v, u=u, users=users, page=page, next_exists=next_exists)
|
||||||
|
|
||||||
|
|
|
@ -30,22 +30,5 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block pagenav %}
|
{% block pagenav %}
|
||||||
<nav>
|
{% include "pagination.html" %}
|
||||||
<ul class="pagination pagination-sm py-3 pl-3 mb-0">
|
|
||||||
{% if page>1 %}
|
|
||||||
<li class="page-item">
|
|
||||||
<small><a class="page-link" href="?page={{page-1}}" tabindex="-1">Prev</a></small>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li class="page-item disabled"><span class="page-link">Prev</span></li>
|
|
||||||
{% endif %}
|
|
||||||
{% if next_exists %}
|
|
||||||
<li class="page-item">
|
|
||||||
<small><a class="page-link" href="?page={{page+1}}">Next</a></small>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li class="page-item disabled"><span class="page-link">Next</span></li>
|
|
||||||
{% endif %}
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -28,22 +28,5 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block pagenav %}
|
{% block pagenav %}
|
||||||
<nav>
|
{% include "pagination.html" %}
|
||||||
<ul class="pagination pagination-sm py-3 pl-3 mb-0">
|
|
||||||
{% if page>1 %}
|
|
||||||
<li class="page-item">
|
|
||||||
<small><a class="page-link" href="?page={{page-1}}" tabindex="-1">Prev</a></small>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li class="page-item disabled"><span class="page-link">Prev</span></li>
|
|
||||||
{% endif %}
|
|
||||||
{% if next_exists %}
|
|
||||||
<li class="page-item">
|
|
||||||
<small><a class="page-link" href="?page={{page+1}}">Next</a></small>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li class="page-item disabled"><span class="page-link">Next</span></li>
|
|
||||||
{% endif %}
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in New Issue