Paginates user activity feed
This commit is contained in:
parent
91a32c014e
commit
90d0d721dd
|
@ -54,6 +54,26 @@
|
||||||
<p>No activities yet!</a>
|
<p>No activities yet!</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
<nav class="pagination" role="navigation" aria-label="pagination">
|
||||||
|
{% if prev %}
|
||||||
|
<p class="pagination-previous">
|
||||||
|
<a href="{{ prev }}">
|
||||||
|
<span class="icon icon-arrow-left"></span>
|
||||||
|
Previous
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if next %}
|
||||||
|
<p class="pagination-next">
|
||||||
|
<a href="{{ next }}">
|
||||||
|
Next
|
||||||
|
<span class="icon icon-arrow-right"></span>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -327,6 +327,11 @@ def user_page(request, username):
|
||||||
return JsonResponse(user.to_activity(), encoder=ActivityEncoder)
|
return JsonResponse(user.to_activity(), encoder=ActivityEncoder)
|
||||||
# otherwise we're at a UI view
|
# otherwise we're at a UI view
|
||||||
|
|
||||||
|
try:
|
||||||
|
page = int(request.GET.get('page', 1))
|
||||||
|
except ValueError:
|
||||||
|
page = 1
|
||||||
|
|
||||||
shelf_preview = []
|
shelf_preview = []
|
||||||
|
|
||||||
# only show other shelves that should be visible
|
# only show other shelves that should be visible
|
||||||
|
@ -351,13 +356,27 @@ def user_page(request, username):
|
||||||
if len(shelf_preview) > 2:
|
if len(shelf_preview) > 2:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# user's posts
|
||||||
|
activities = get_activity_feed(user, 'self')
|
||||||
|
paginated = Paginator(activities, PAGE_LENGTH)
|
||||||
|
activity_page = paginated.page(page)
|
||||||
|
|
||||||
|
prev_page = next_page = None
|
||||||
|
if activity_page.has_next():
|
||||||
|
next_page = '/user/%s/?page=%d' % \
|
||||||
|
(username, activity_page.next_page_number())
|
||||||
|
if activity_page.has_previous():
|
||||||
|
prev_page = '/user/%s/?page=%d' % \
|
||||||
|
(username, activity_page.previous_page_number())
|
||||||
data = {
|
data = {
|
||||||
'title': user.name,
|
'title': user.name,
|
||||||
'user': user,
|
'user': user,
|
||||||
'is_self': is_self,
|
'is_self': is_self,
|
||||||
'shelves': shelf_preview,
|
'shelves': shelf_preview,
|
||||||
'shelf_count': shelves.count(),
|
'shelf_count': shelves.count(),
|
||||||
'activities': get_activity_feed(user, 'self')[:15],
|
'activities': activity_page.object_list,
|
||||||
|
'next': next_page,
|
||||||
|
'prev': prev_page,
|
||||||
}
|
}
|
||||||
|
|
||||||
return TemplateResponse(request, 'user.html', data)
|
return TemplateResponse(request, 'user.html', data)
|
||||||
|
|
Loading…
Reference in New Issue