diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-07-12 21:31:13 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-07-12 22:55:37 -0500 |
commit | bcfd38c8f3ecd2620bae7fc756ffc3f4bbe2b89e (patch) | |
tree | 11985eedcf9cb5fb10fd249183da9ccc0e81e55f /lib | |
parent | e4e557781877c7c3e4f6197cc52963025485dbb3 (diff) | |
download | pleroma-bcfd38c8f3ecd2620bae7fc756ffc3f4bbe2b89e.tar.gz |
Make a user unapproved when registering with `account_approval_required` on
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 14 |
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) |