summaryrefslogtreecommitdiffstats
path: root/activities/views/timelines.py
diff options
context:
space:
mode:
Diffstat (limited to 'activities/views/timelines.py')
-rw-r--r--activities/views/timelines.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/activities/views/timelines.py b/activities/views/timelines.py
index d797cfd..84e490f 100644
--- a/activities/views/timelines.py
+++ b/activities/views/timelines.py
@@ -1,3 +1,4 @@
+from django.core.paginator import Paginator
from django.shortcuts import get_object_or_404, redirect
from django.template.defaultfilters import linebreaks_filter
from django.utils.decorators import method_decorator
@@ -22,20 +23,23 @@ class Home(FormView):
def get_context_data(self):
context = super().get_context_data()
- context["events"] = list(
+ events = (
TimelineEvent.objects.filter(
identity=self.request.identity,
type__in=[TimelineEvent.Types.post, TimelineEvent.Types.boost],
)
.select_related("subject_post", "subject_post__author")
.prefetch_related("subject_post__attachments", "subject_post__mentions")
- .order_by("-created")[:50]
+ .order_by("-created")
)
context["interactions"] = PostInteraction.get_event_interactions(
- context["events"], self.request.identity
+ events, self.request.identity
)
context["current_page"] = "home"
context["allows_refresh"] = True
+ paginator = Paginator(events, 50)
+ page_number = self.request.GET.get("page")
+ context["page_obj"] = paginator.get_page(page_number)
return context
def form_valid(self, form):
@@ -74,7 +78,7 @@ class Tag(ListView):
.tagged_with(self.hashtag)
.select_related("author")
.prefetch_related("attachments", "mentions")
- .order_by("-created")[:50]
+ .order_by("-created")
)
def get_context_data(self):
@@ -103,7 +107,7 @@ class Local(ListView):
Post.objects.local_public()
.select_related("author", "author__domain")
.prefetch_related("attachments", "mentions", "emojis")
- .order_by("-created")[:50]
+ .order_by("-created")
)
def get_context_data(self):
@@ -131,7 +135,7 @@ class Federated(ListView):
)
.select_related("author", "author__domain")
.prefetch_related("attachments", "mentions", "emojis")
- .order_by("-created")[:50]
+ .order_by("-created")
)
def get_context_data(self):
@@ -175,7 +179,7 @@ class Notifications(ListView):
types.append(type)
return (
TimelineEvent.objects.filter(identity=self.request.identity, type__in=types)
- .order_by("-created")[:50]
+ .order_by("-created")
.select_related(
"subject_post",
"subject_post__author",