aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-06-25 06:50:44 +0000
committerlain <lain@soykaf.club>2020-06-25 06:50:44 +0000
commit0e26ef2ab9061f51589fdb5149dee457203305e5 (patch)
tree524cfa45611b7460a1854a6bff809f1575da3ae0
parentae94fcc95f4ac105ed8c2b87dc36fbeea066866d (diff)
parent67ab5805536ed64ca842998bfd4b3b0e63d13dd3 (diff)
downloadpleroma-0e26ef2ab9061f51589fdb5149dee457203305e5.tar.gz
Merge branch 'fix/following-request-from-deactivated' into 'develop'
Filter outstanding follower requests from deactivated accounts Closes #1771 See merge request pleroma/pleroma!2682
-rw-r--r--lib/pleroma/following_relationship.ex1
-rw-r--r--test/user_test.exs10
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/pleroma/following_relationship.ex b/lib/pleroma/following_relationship.ex
index 093b1f405..c2020d30a 100644
--- a/lib/pleroma/following_relationship.ex
+++ b/lib/pleroma/following_relationship.ex
@@ -124,6 +124,7 @@ defmodule Pleroma.FollowingRelationship do
|> join(:inner, [r], f in assoc(r, :follower))
|> where([r], r.state == ^:follow_pending)
|> where([r], r.following_id == ^id)
+ |> where([r, f], f.deactivated != true)
|> select([r, f], f)
|> Repo.all()
end
diff --git a/test/user_test.exs b/test/user_test.exs
index 311b6c683..9b66f3f51 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -199,6 +199,16 @@ defmodule Pleroma.UserTest do
assert [^pending_follower] = User.get_follow_requests(locked)
end
+ test "doesn't return follow requests for deactivated accounts" do
+ locked = insert(:user, locked: true)
+ pending_follower = insert(:user, %{deactivated: true})
+
+ CommonAPI.follow(pending_follower, locked)
+
+ assert true == pending_follower.deactivated
+ assert [] = User.get_follow_requests(locked)
+ end
+
test "clears follow requests when requester is blocked" do
followed = insert(:user, locked: true)
follower = insert(:user)