From 6d8710f0fe6de899860d682f40bc79ddfb483d1e Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 1 Dec 2020 10:21:07 +0100 Subject: [PATCH] Send the membership emails in the correct language MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And send them as well if the member is on the same instance 🙈 Close #472 Signed-off-by: Thomas Citharel --- lib/federation/activity_pub/activity_pub.ex | 3 ++- lib/federation/activity_pub/transmogrifier.ex | 3 +-- lib/web/email/group.ex | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/federation/activity_pub/activity_pub.ex b/lib/federation/activity_pub/activity_pub.ex index c1bcc8062..c50777253 100644 --- a/lib/federation/activity_pub/activity_pub.ex +++ b/lib/federation/activity_pub/activity_pub.ex @@ -526,7 +526,8 @@ defmodule Mobilizon.Federation.ActivityPub do local ), :ok <- maybe_federate(activity), - :ok <- maybe_relay_if_group_activity(activity) do + :ok <- maybe_relay_if_group_activity(activity), + :ok <- Group.send_invite_to_user(member) do {:ok, activity, member} end end diff --git a/lib/federation/activity_pub/transmogrifier.ex b/lib/federation/activity_pub/transmogrifier.ex index 8d804ecb5..546d3c7ff 100644 --- a/lib/federation/activity_pub/transmogrifier.ex +++ b/lib/federation/activity_pub/transmogrifier.ex @@ -674,8 +674,7 @@ defmodule Mobilizon.Federation.ActivityPub.Transmogrifier do {:ok, %Actor{} = target} <- target |> Utils.get_url() |> ActivityPub.get_or_fetch_actor_by_url(), {:ok, activity, %Member{} = member} <- - ActivityPub.invite(object, actor, target, false, %{url: id}), - :ok <- Group.send_invite_to_user(member) do + ActivityPub.invite(object, actor, target, false, %{url: id}) do {:ok, activity, member} end end diff --git a/lib/web/email/group.ex b/lib/web/email/group.ex index f81044d62..440c0f20b 100644 --- a/lib/web/email/group.ex +++ b/lib/web/email/group.ex @@ -24,7 +24,8 @@ defmodule Mobilizon.Web.Email.Group do member, locale ) do - with %User{email: email} <- Users.get_user!(user_id) do + with %User{email: email} = user <- Users.get_user!(user_id) do + locale = Map.get(user, :locale, locale) Gettext.put_locale(locale) %Actor{name: invited_by_name} = inviter = Actors.get_actor(member.invited_by_id)