Move admin approval email logic into User.post_register_action/1
authorAlex Gleason <alex@alexgleason.me>
Mon, 12 Oct 2020 02:44:22 +0000 (21:44 -0500)
committerAlex Gleason <alex@alexgleason.me>
Mon, 12 Oct 2020 02:46:10 +0000 (21:46 -0500)
lib/pleroma/user.ex
lib/pleroma/web/twitter_api/twitter_api.ex

index ae2fe93fcfcf73dd2307b1b949d9099298d8ed8a..b56620c544b8896b32f1726f384b8c67d4013384 100644 (file)
@@ -779,11 +779,20 @@ defmodule Pleroma.User do
   end
 
   def post_register_action(%User{approval_pending: true} = user) do
-    # Send approval pending email
+    # Send approval pending email to user
     user
     |> Pleroma.Emails.UserEmail.approval_pending_email()
     |> Pleroma.Emails.Mailer.deliver_async()
 
+    # Notify admins
+    all_superusers()
+    |> Enum.filter(fn user -> not is_nil(user.email) end)
+    |> Enum.each(fn superuser ->
+      superuser
+      |> Pleroma.Emails.AdminEmail.new_unapproved_registration(user)
+      |> Pleroma.Emails.Mailer.deliver_async()
+    end)
+
     {:ok, user}
   end
 
index 5d79485071487c89188caebef6a1158870c1254c..8e20b0d55cd50ba5aa57ecfcabb1e3c13967c688 100644 (file)
@@ -45,7 +45,6 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
 
     case User.register(changeset) do
       {:ok, user} ->
-        maybe_notify_admins(user)
         {:ok, user}
 
       {:error, changeset} ->
@@ -58,18 +57,6 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
     end
   end
 
-  defp maybe_notify_admins(%User{} = account) do
-    if Pleroma.Config.get([:instance, :account_approval_required]) do
-      User.all_superusers()
-      |> Enum.filter(fn user -> not is_nil(user.email) end)
-      |> Enum.each(fn superuser ->
-        superuser
-        |> Pleroma.Emails.AdminEmail.new_unapproved_registration(account)
-        |> Pleroma.Emails.Mailer.deliver_async()
-      end)
-    end
-  end
-
   def password_reset(nickname_or_email) do
     with true <- is_binary(nickname_or_email),
          %User{local: true, email: email, deactivated: false} = user when is_binary(email) <-