Improve the way the instance name is injected into emails

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-09-30 09:34:39 +02:00
parent 6edeeef9a9
commit 4a7c6a861e
18 changed files with 21 additions and 29 deletions

View File

@@ -8,8 +8,8 @@ defmodule Mobilizon.Web.Email.Actor do
import Mobilizon.Web.Gettext
alias Mobilizon.Actors.Actor
alias Mobilizon.{Config, Users}
alias Mobilizon.Events.{Event, Participant}
alias Mobilizon.Users
alias Mobilizon.Users.User
alias Mobilizon.Web.Email
@@ -40,7 +40,6 @@ defmodule Mobilizon.Web.Email.Actor do
) do
with %User{email: email, locale: locale} <- Users.get_user!(user_id) do
Gettext.put_locale(locale)
instance = Config.instance_name()
subject = gettext("Your participation to %{event} has been cancelled!", event: event.title)
@@ -50,7 +49,6 @@ defmodule Mobilizon.Web.Email.Actor do
|> assign(:event, event)
|> assign(:role, member_role)
|> assign(:subject, subject)
|> assign(:instance, instance)
|> render(:actor_suspension_participants)
|> Email.Mailer.send_email_later()

View File

@@ -12,15 +12,13 @@ defmodule Mobilizon.Web.Email do
@spec base_email(keyword()) :: Bamboo.Email.t()
def base_email(args) do
instance = Config.instance_config()
args
|> new_email()
|> from({Config.instance_name(), Config.instance_email_from()})
|> put_header("Reply-To", Config.instance_email_reply_to())
|> maybe_put_date_header()
|> maybe_put_message_id()
|> assign(:instance, instance)
|> assign(:instance_name, Config.instance_name())
|> put_html_layout({EmailView, "email.html"})
|> put_text_layout({EmailView, "email.text"})
end

View File

@@ -92,13 +92,12 @@ defmodule Mobilizon.Web.Email.Group do
}) do
with %User{email: email, locale: locale} <- Users.get_user!(user_id) do
Gettext.put_locale(locale)
instance = Config.instance_name()
subject =
gettext(
"The group %{group} has been suspended on %{instance}",
group: group.name,
instance: instance
instance: Config.instance_name()
)
Email.base_email(to: email, subject: subject)
@@ -106,7 +105,6 @@ defmodule Mobilizon.Web.Email.Group do
|> assign(:group, group)
|> assign(:role, member_role)
|> assign(:subject, subject)
|> assign(:instance, instance)
|> render(:group_suspension)
|> Email.Mailer.send_email_later()

View File

@@ -172,19 +172,17 @@ defmodule Mobilizon.Web.Email.User do
_locale \\ "en"
) do
Gettext.put_locale(user_locale)
instance_name = Config.instance_name()
subject =
gettext(
"Mobilizon on %{instance}: confirm your email address",
instance: instance_name
instance: Config.instance_name()
)
Email.base_email(to: unconfirmed_email, subject: subject)
|> assign(:locale, user_locale)
|> assign(:subject, subject)
|> assign(:token, confirmation_token)
|> assign(:instance_name, instance_name)
|> render(:email_changed_new)
end