Merge branch 'change/web-push-encryption-dep' into 'develop'
[akkoma] / lib / pleroma / emails / user_email.ex
index e5a6feed91175ae58346f2c049000ff9fe3cadf5..e38c681bae9ad3cacaf5e826558d58e58c3d2eba 100644 (file)
@@ -5,16 +5,22 @@
 defmodule Pleroma.Emails.UserEmail do
   @moduledoc "User emails"
 
-  use Phoenix.Swoosh, view: Pleroma.Web.EmailView, layout: {Pleroma.Web.LayoutView, :email}
-
   alias Pleroma.Config
-  alias Pleroma.HTML
   alias Pleroma.User
   alias Pleroma.Web.Endpoint
   alias Pleroma.Web.Router
 
+  import Swoosh.Email
+  import Phoenix.Swoosh, except: [render_body: 3]
   import Pleroma.Config.Helpers, only: [instance_name: 0, sender: 0]
 
+  def render_body(email, template, assigns \\ %{}) do
+    email
+    |> put_new_layout({Pleroma.Web.LayoutView, :email})
+    |> put_new_view(Pleroma.Web.EmailView)
+    |> Phoenix.Swoosh.render_body(template, assigns)
+  end
+
   defp recipient(email, nil), do: email
   defp recipient(email, name), do: {name, email}
   defp recipient(%User{} = user), do: recipient(user.email, user.name)
@@ -44,7 +50,6 @@ defmodule Pleroma.Emails.UserEmail do
     |> from(sender())
     |> subject("Password reset")
     |> html_body(html_body)
-    |> text_body(HTML.strip_tags(html_body))
   end
 
   def user_invitation_email(
@@ -71,7 +76,6 @@ defmodule Pleroma.Emails.UserEmail do
     |> from(sender())
     |> subject("Invitation to #{instance_name()}")
     |> html_body(html_body)
-    |> text_body(HTML.strip_tags(html_body))
   end
 
   def account_confirmation_email(user) do
@@ -94,7 +98,6 @@ defmodule Pleroma.Emails.UserEmail do
     |> from(sender())
     |> subject("#{instance_name()} account confirmation")
     |> html_body(html_body)
-    |> text_body(HTML.strip_tags(html_body))
   end
 
   def approval_pending_email(user) do
@@ -108,7 +111,6 @@ defmodule Pleroma.Emails.UserEmail do
     |> from(sender())
     |> subject("Your account is awaiting approval")
     |> html_body(html_body)
-    |> text_body(HTML.strip_tags(html_body))
   end
 
   def successful_registration_email(user) do
@@ -123,7 +125,6 @@ defmodule Pleroma.Emails.UserEmail do
     |> from(sender())
     |> subject("Account registered on #{instance_name()}")
     |> html_body(html_body)
-    |> text_body(HTML.strip_tags(html_body))
   end
 
   @doc """
@@ -247,6 +248,5 @@ defmodule Pleroma.Emails.UserEmail do
     |> from(sender())
     |> subject("Your account archive is ready")
     |> html_body(html_body)
-    |> text_body(HTML.strip_tags(html_body))
   end
 end