X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fuser.ex;h=ed1db04c9af8540c5a0eb90f0fcb3354283b3a92;hb=3b7c454418700ca36c0a71272f913ea8c6e464e9;hp=29526b8fd7349c409d0f88d35ef762cf6bdc6749;hpb=3edaecae96975c229c3b8bd7be2dc1208b9bcb82;p=akkoma diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 29526b8fd..ed1db04c9 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -729,7 +729,7 @@ defmodule Pleroma.User do end end - def send_welcome_email(user) do + def send_welcome_email(%User{email: email} = user) when is_binary(email) do if User.WelcomeEmail.enabled?() do User.WelcomeEmail.send_email(user) {:ok, :enqueued} @@ -738,21 +738,27 @@ defmodule Pleroma.User do end end - def try_send_confirmation_email(%User{} = user) do - if user.confirmation_pending && - Config.get([:instance, :account_activation_required]) do - user - |> Pleroma.Emails.UserEmail.account_confirmation_email() - |> Pleroma.Emails.Mailer.deliver_async() + 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 + if Config.get([:instance, :account_activation_required]) do + send_confirmation_email(user) {:ok, :enqueued} else {:ok, :noop} end end - def try_send_confirmation_email(users) do - Enum.each(users, &try_send_confirmation_email/1) + def try_send_confirmation_email(_), do: {:ok, :noop} + + @spec send_confirmation_email(Uset.t()) :: User.t() + def send_confirmation_email(%User{} = user) do + user + |> Pleroma.Emails.UserEmail.account_confirmation_email() + |> Pleroma.Emails.Mailer.deliver_async() + + user end def needs_update?(%User{local: true}), do: false