From ad3d492fccfb0ced1524895c080d164178947273 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 1 Nov 2020 12:49:07 -0800 Subject: [PATCH] Prevent creating follow requests when there's already a follow Fixes #90 --- bookwyrm/models/relationship.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bookwyrm/models/relationship.py b/bookwyrm/models/relationship.py index e86b90981..dbf997785 100644 --- a/bookwyrm/models/relationship.py +++ b/bookwyrm/models/relationship.py @@ -82,6 +82,17 @@ class UserFollowRequest(UserRelationship): ''' following a user requires manual or automatic confirmation ''' status = 'follow_request' + def save(self, *args, **kwargs): + ''' make sure the follow relationship doesn't already exist ''' + try: + UserFollows.objects.get( + user_subject=self.user_subject, + user_object=self.user_object + ) + return None + except UserFollows.DoesNotExist: + return super().save(*args, **kwargs) + class UserBlocks(UserRelationship): ''' prevent another user from following you and seeing your posts '''