32 lines
1.1 KiB
Ruby
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
|