aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
authorAlexander Strizhakov <alex.strizhakov@gmail.com>2020-03-20 13:04:37 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-03-20 16:36:20 +0300
commitfe15f0ba15d02809fa4c21fb646e65d06060f3bb (patch)
treef72b9278a7db7e5b9f3439974e06e26ad1095e24 /lib/pleroma/user.ex
parentd63dca8d99196c91dc3e20e2d27f61ea753b84af (diff)
downloadpleroma-fe15f0ba15d02809fa4c21fb646e65d06060f3bb.tar.gz
restrict_unauthenticated setting
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r--lib/pleroma/user.ex13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 911dde6e2..8693c0b80 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -237,7 +237,18 @@ defmodule Pleroma.User do
def visible_for?(%User{invisible: true}, _), do: false
- def visible_for?(%User{id: user_id}, %User{id: for_id}) when user_id == for_id, do: true
+ def visible_for?(%User{id: user_id}, %User{id: user_id}), do: true
+
+ def visible_for?(%User{local: local} = user, nil) do
+ cfg_key =
+ if local,
+ do: :local,
+ else: :remote
+
+ if Config.get([:restrict_unauthenticated, :profiles, cfg_key]),
+ do: false,
+ else: account_status(user) == :active
+ end
def visible_for?(%User{} = user, for_user) do
account_status(user) == :active || superuser?(for_user)