diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-05-22 14:48:13 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-05-22 14:48:13 -0500 |
commit | 3beff6a9faaaab5500b56af868b0fd9ab99fc005 (patch) | |
tree | 92898054ac31b0759c3818d1fd99a5c0f910f52d /lib | |
parent | ad8fdea4b034bea16917485237162e1cbffeaf51 (diff) | |
download | pleroma-3beff6a9faaaab5500b56af868b0fd9ab99fc005.tar.gz |
Cycles: avoid `use Phoenix.Swoosh` to prevent recompling the Endpoint
Fixes cycles with lib/pleroma/emails/user_email.ex
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/emails/user_email.ex | 11 |
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) |