logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: edf0013ff38ae2d7bc84431d1d1384e5fc45bc0e
parent bb61cfee8dc27c658215f05cce3ea58fca5b3db3
Author: Ilja <ilja@ilja.space>
Date:   Sat, 18 Jun 2022 08:32:05 +0200

User.visible_for/2

According to the tests, this was only used for unconfirmed accounts.
So this just needed to be restricted to users with privilege :user_activation

Diffstat:

Mlib/pleroma/user.ex2+-
Mtest/pleroma/user_test.exs7++++++-
2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex @@ -326,7 +326,7 @@ defmodule Pleroma.User do end def visible_for(%User{} = user, for_user) do - if superuser?(for_user) do + if privileged?(for_user, :user_activation) do :visible else visible_account_status(user) diff --git a/test/pleroma/user_test.exs b/test/pleroma/user_test.exs @@ -1986,13 +1986,18 @@ defmodule Pleroma.UserTest do assert User.visible_for(user, other_user) == :visible end - test "returns true when the account is unconfirmed and being viewed by a privileged account (confirmation required)" do + test "returns true when the account is unconfirmed and being viewed by a privileged account (privilege :user_activation, confirmation required)" do clear_config([:instance, :account_activation_required], true) + clear_config([:instance, :admin_privileges], [:user_activation]) user = insert(:user, local: true, is_confirmed: false) other_user = insert(:user, local: true, is_admin: true) assert User.visible_for(user, other_user) == :visible + + clear_config([:instance, :admin_privileges], []) + + refute User.visible_for(user, other_user) == :visible end end