Send notification emails to followers and members when a group publishes
a new event Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -4,7 +4,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Invite do
|
||||
"""
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
alias Mobilizon.Web.Email.Group
|
||||
alias Mobilizon.Web.Email.Member, as: EmailMember
|
||||
require Logger
|
||||
|
||||
import Mobilizon.Federation.ActivityPub.Utils,
|
||||
@@ -56,7 +56,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Invite do
|
||||
|
||||
maybe_federate(activity)
|
||||
maybe_relay_if_group_activity(activity)
|
||||
Group.send_invite_to_user(member)
|
||||
EmailMember.send_invite_to_user(member)
|
||||
{:ok, activity, member}
|
||||
end
|
||||
else
|
||||
|
||||
@@ -5,7 +5,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Remove do
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
alias Mobilizon.Federation.ActivityPub.Activity
|
||||
alias Mobilizon.Web.Email.Group
|
||||
alias Mobilizon.Web.Email.Member, as: EmailMember
|
||||
require Logger
|
||||
|
||||
import Mobilizon.Federation.ActivityPub.Utils,
|
||||
@@ -34,7 +34,7 @@ defmodule Mobilizon.Federation.ActivityPub.Actions.Remove do
|
||||
subject: "member_removed"
|
||||
)
|
||||
|
||||
Group.send_notification_to_removed_member(member)
|
||||
EmailMember.send_notification_to_removed_member(member)
|
||||
|
||||
remove_data = %{
|
||||
"to" => [group_members_url],
|
||||
|
||||
@@ -16,6 +16,7 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Events do
|
||||
alias Mobilizon.Service.Notifications.Scheduler
|
||||
alias Mobilizon.Share
|
||||
alias Mobilizon.Tombstone
|
||||
alias Mobilizon.Web.Email.Group
|
||||
import Mobilizon.Federation.ActivityPub.Utils, only: [make_create_data: 2, make_update_data: 2]
|
||||
require Logger
|
||||
|
||||
@@ -30,6 +31,8 @@ defmodule Mobilizon.Federation.ActivityPub.Types.Events do
|
||||
case EventsManager.create_event(args) do
|
||||
{:ok, %Event{} = event} ->
|
||||
EventActivity.insert_activity(event, subject: "event_created")
|
||||
# TODO make this async
|
||||
Group.notify_of_new_event(event)
|
||||
event_as_data = Convertible.model_to_as(event)
|
||||
audience = Audience.get_audience(event)
|
||||
create_data = make_create_data(event_as_data, Map.merge(audience, additional))
|
||||
|
||||
Reference in New Issue
Block a user