60 lines
1.8 KiB
Ruby
60 lines
1.8 KiB
Ruby
class TeamNotifications::AutomationNotificationMailer < ApplicationMailer
|
|
def conversation_creation(conversation, team, message)
|
|
return unless smtp_config_set_or_development?
|
|
|
|
@agents = team.team_members
|
|
@conversation = conversation
|
|
@custom_message = message
|
|
@action_url = app_account_conversation_url(account_id: @conversation.account_id, id: @conversation.display_id)
|
|
|
|
send_an_email_to_team and return
|
|
end
|
|
|
|
def conversation_updated(conversation, team, message)
|
|
return unless smtp_config_set_or_development?
|
|
|
|
@agents = team.team_members
|
|
@conversation = conversation
|
|
@custom_message = message
|
|
@action_url = app_account_conversation_url(account_id: @conversation.account_id, id: @conversation.display_id)
|
|
|
|
send_an_email_to_team and return
|
|
end
|
|
|
|
def message_created(conversation, team, message)
|
|
return unless smtp_config_set_or_development?
|
|
|
|
@agents = team.team_members
|
|
@conversation = conversation
|
|
@custom_message = message
|
|
@action_url = app_account_conversation_url(account_id: @conversation.account_id, id: @conversation.display_id)
|
|
|
|
send_an_email_to_team and return
|
|
end
|
|
|
|
private
|
|
|
|
def send_an_email_to_team
|
|
@agents.each do |agent|
|
|
subject = "#{agent.user.available_name}, This email has been sent via automation rule actions."
|
|
@action_url = app_account_conversation_url(account_id: @conversation.account_id, id: @conversation.display_id)
|
|
@agent = agent
|
|
|
|
send_mail_with_liquid(to: @agent.user.email, subject: subject)
|
|
end
|
|
end
|
|
|
|
def liquid_droppables
|
|
super.merge!({
|
|
user: @agent.user,
|
|
conversation: @conversation,
|
|
inbox: @conversation.inbox
|
|
})
|
|
end
|
|
|
|
def liquid_locals
|
|
super.merge!({
|
|
custom_message: @custom_message
|
|
})
|
|
end
|
|
end
|