aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2020-09-08 16:48:54 -0500
committerMark Felder <feld@FreeBSD.org>2020-09-08 16:48:54 -0500
commitd23d0c27c25e3ce7b39cae6e504062b4cb389ea4 (patch)
tree64d9bb9bfb8a343ddb0e17fc42b1680f7d410ef9 /lib
parent75b6fef25dd81c81cd5709739f97182045eec5b8 (diff)
downloadpleroma-d23d0c27c25e3ce7b39cae6e504062b4cb389ea4.tar.gz
Handle possibility of user account in a bulk operation not having an email address
Diffstat (limited to 'lib')
-rw-r--r--lib/mix/tasks/pleroma/email.ex2
-rw-r--r--lib/pleroma/user.ex3
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/mix/tasks/pleroma/email.ex b/lib/mix/tasks/pleroma/email.ex
index 61d431971..c0bef0386 100644
--- a/lib/mix/tasks/pleroma/email.ex
+++ b/lib/mix/tasks/pleroma/email.ex
@@ -34,7 +34,7 @@ defmodule Mix.Tasks.Pleroma.Email 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
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 603fc3b44..9dea39619 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -814,7 +814,8 @@ defmodule Pleroma.User 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}