Handle possibility of user account in a bulk operation not having an email address

This commit is contained in:
Mark Felder 2020-09-08 16:48:54 -05:00
parent 75b6fef25d
commit d23d0c27c2
2 changed files with 3 additions and 2 deletions

View file

@ -34,7 +34,7 @@ def run(["resend_confirmation_emails"]) do
|> Pleroma.RepoStreamer.chunk_stream(500)
|> Stream.each(fn users ->
users
|> Enum.each(fn user -> Pleroma.User.send_confirmation_email(user) end)
|> Enum.each(fn user -> Pleroma.User.try_send_confirmation_email(user) end)
end)
|> Stream.run()
end

View file

@ -814,7 +814,8 @@ def send_welcome_email(%User{email: email} = user) when is_binary(email) do
def send_welcome_email(_), do: {:ok, :noop}
@spec try_send_confirmation_email(User.t()) :: {:ok, :enqueued | :noop}
def try_send_confirmation_email(%User{confirmation_pending: true} = user) do
def try_send_confirmation_email(%User{confirmation_pending: true, email: email} = user)
when is_binary(email) do
if Config.get([:instance, :account_activation_required]) do
send_confirmation_email(user)
{:ok, :enqueued}