aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2020-07-12 21:31:13 -0500
committerAlex Gleason <alex@alexgleason.me>2020-07-12 22:55:37 -0500
commitbcfd38c8f3ecd2620bae7fc756ffc3f4bbe2b89e (patch)
tree11985eedcf9cb5fb10fd249183da9ccc0e81e55f /lib
parente4e557781877c7c3e4f6197cc52963025485dbb3 (diff)
downloadpleroma-bcfd38c8f3ecd2620bae7fc756ffc3f4bbe2b89e.tar.gz
Make a user unapproved when registering with `account_approval_required` on
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 25c63fc44..e84900c4f 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -634,8 +634,16 @@ defmodule Pleroma.User do
opts[:need_confirmation]
end
+ need_approval? =
+ if is_nil(opts[:need_approval]) do
+ Config.get([:instance, :account_approval_required])
+ else
+ opts[:need_approval]
+ end
+
struct
|> confirmation_changeset(need_confirmation: need_confirmation?)
+ |> approval_changeset(need_approval: need_approval?)
|> cast(params, [
:bio,
:raw_bio,
@@ -2145,6 +2153,12 @@ defmodule Pleroma.User do
cast(user, params, [:confirmation_pending, :confirmation_token])
end
+ @spec approval_changeset(User.t(), keyword()) :: Changeset.t()
+ def approval_changeset(user, need_approval: need_approval?) do
+ params = if need_approval?, do: %{approval_pending: true}, else: %{approval_pending: false}
+ cast(user, params, [:approval_pending])
+ end
+
def add_pinnned_activity(user, %Pleroma.Activity{id: id}) do
if id not in user.pinned_activities do
max_pinned_statuses = Config.get([:instance, :max_pinned_statuses], 0)