diff options
author | lain <lain@soykaf.club> | 2020-06-25 06:50:44 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-06-25 06:50:44 +0000 |
commit | 0e26ef2ab9061f51589fdb5149dee457203305e5 (patch) | |
tree | 524cfa45611b7460a1854a6bff809f1575da3ae0 | |
parent | ae94fcc95f4ac105ed8c2b87dc36fbeea066866d (diff) | |
parent | 67ab5805536ed64ca842998bfd4b3b0e63d13dd3 (diff) | |
download | pleroma-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.ex | 1 | ||||
-rw-r--r-- | test/user_test.exs | 10 |
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) |