commit: 9879c18548c1b9f37df724259f65d5cd098f44c5
parent b221d77a6da07c684bdbc63ddf4500e0d7ffeae8
Author: Alex Gleason <alex@alexgleason.me>
Date: Sat, 22 May 2021 14:48:13 -0500
Avoid `use Phoenix.Swoosh` to prevent recompiling the Endpoint
Speeds up recompilation by fixing cycles in UserEmail
Diffstat:
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/pleroma/emails/user_email.ex b/lib/pleroma/emails/user_email.ex
@@ -5,15 +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.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)