Files
clientsflow/research/chatwoot/app/models/concerns/sla_activity_message_handler.rb

32 lines
1.1 KiB
Ruby

module SlaActivityMessageHandler
extend ActiveSupport::Concern
private
def create_sla_change_activity(change_type, user_name)
content = case change_type
when 'added'
I18n.t('conversations.activity.sla.added', user_name: user_name, sla_name: sla_policy_name)
when 'removed'
I18n.t('conversations.activity.sla.removed', user_name: user_name, sla_name: sla_policy_name)
when 'updated'
I18n.t('conversations.activity.sla.updated', user_name: user_name, sla_name: sla_policy_name)
end
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
end
def sla_policy_name
SlaPolicy.find_by(id: sla_policy_id)&.name || ''
end
def determine_sla_change_type
sla_policy_id_before, sla_policy_id_after = previous_changes[:sla_policy_id]
if sla_policy_id_before.nil? && sla_policy_id_after.present?
'added'
elsif sla_policy_id_before.present? && sla_policy_id_after.nil?
'removed'
end
end
end