aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-05-22 14:48:13 -0500
committerAlex Gleason <alex@alexgleason.me>2021-06-01 16:17:03 -0500
commit9879c18548c1b9f37df724259f65d5cd098f44c5 (patch)
treed820bce8d7a4d028a0b9e027ac45ac99960fafeb /lib
parentb221d77a6da07c684bdbc63ddf4500e0d7ffeae8 (diff)
downloadpleroma-9879c18548c1b9f37df724259f65d5cd098f44c5.tar.gz
Avoid `use Phoenix.Swoosh` to prevent recompiling the Endpoint
Speeds up recompilation by fixing cycles in UserEmail
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/emails/user_email.ex11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/pleroma/emails/user_email.ex b/lib/pleroma/emails/user_email.ex
index 52f3d419d..e38c681ba 100644
--- 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)