Chatwoot/app/mailers/team_notifications/automation_notification_mailer.rb
2022-03-21 13:12:27 +05:30

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