Avoid `use Phoenix.Swoosh` to prevent recompiling the Endpoint
Speeds up recompilation by fixing cycles in UserEmail
This commit is contained in:
parent
b221d77a6d
commit
9879c18548
|
@ -5,15 +5,22 @@
|
||||||
defmodule Pleroma.Emails.UserEmail do
|
defmodule Pleroma.Emails.UserEmail do
|
||||||
@moduledoc "User emails"
|
@moduledoc "User emails"
|
||||||
|
|
||||||
use Phoenix.Swoosh, view: Pleroma.Web.EmailView, layout: {Pleroma.Web.LayoutView, :email}
|
|
||||||
|
|
||||||
alias Pleroma.Config
|
alias Pleroma.Config
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Pleroma.Web.Endpoint
|
alias Pleroma.Web.Endpoint
|
||||||
alias Pleroma.Web.Router
|
alias Pleroma.Web.Router
|
||||||
|
|
||||||
|
import Swoosh.Email
|
||||||
|
import Phoenix.Swoosh, except: [render_body: 3]
|
||||||
import Pleroma.Config.Helpers, only: [instance_name: 0, sender: 0]
|
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, nil), do: email
|
||||||
defp recipient(email, name), do: {name, email}
|
defp recipient(email, name), do: {name, email}
|
||||||
defp recipient(%User{} = user), do: recipient(user.email, user.name)
|
defp recipient(%User{} = user), do: recipient(user.email, user.name)
|
||||||
|
|
Loading…
Reference in New Issue