From c588567c8698700cd347d9b8f884a7967890aa58 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Fri, 16 Dec 2022 17:39:10 -0700 Subject: Add follow times --- activities/views/follows.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'activities') 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 -- cgit v1.2.3