summaryrefslogtreecommitdiffstats
path: root/activities
diff options
context:
space:
mode:
Diffstat (limited to 'activities')
-rw-r--r--activities/views/follows.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/activities/views/follows.py b/activities/views/follows.py
index 5e14740..a8f787a 100644
--- a/activities/views/follows.py
+++ b/activities/views/follows.py
@@ -33,21 +33,33 @@ class Follows(ListView):
state__in=FollowStates.group_active(),
).order_by("-created")
+ def follows_to_identities(self, follows, attr):
+ """
+ Turns a list of follows into a list of identities (ith the
+ follow creation date preserved on them.
+ """
+ result = []
+ for follow in follows:
+ identity = getattr(follow, attr)
+ identity.follow_date = follow.state_changed
+ result.append(identity)
+ return result
+
def get_context_data(self):
context = super().get_context_data()
# Go work out if any of these people also follow us/are followed
if self.inbound:
- context["page_obj"].object_list = [
- follow.source for follow in context["page_obj"]
- ]
+ context["page_obj"].object_list = self.follows_to_identities(
+ context["page_obj"], "source"
+ )
identity_ids = [identity.id for identity in context["page_obj"]]
context["outbound_ids"] = Follow.objects.filter(
source=self.request.identity, target_id__in=identity_ids
).values_list("target_id", flat=True)
else:
- context["page_obj"].object_list = [
- follow.target for follow in context["page_obj"]
- ]
+ context["page_obj"].object_list = self.follows_to_identities(
+ context["page_obj"], "target"
+ )
identity_ids = [identity.id for identity in context["page_obj"]]
context["inbound_ids"] = Follow.objects.filter(
target=self.request.identity, source_id__in=identity_ids