mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-22 22:14:59 +00:00
* feat: add activity message for SLA * chore: refactor to reduce method complexity * chore: refactor * feat: add spec for SLAactivity message * chore: move SLA spec to enterprise folder * chore: move team activity methods to a separate module * chore: fix typo * chore: move sla activity message spec to conversation model
30 lines
1006 B
Ruby
30 lines
1006 B
Ruby
module TeamActivityMessageHandler
|
|
extend ActiveSupport::Concern
|
|
|
|
private
|
|
|
|
def create_team_change_activity(user_name)
|
|
user_name = activity_message_owner(user_name)
|
|
return unless user_name
|
|
|
|
key = generate_team_change_activity_key
|
|
params = { assignee_name: assignee&.name, team_name: team&.name, user_name: user_name }
|
|
params[:team_name] = generate_team_name_for_activity if key == 'removed'
|
|
content = I18n.t("conversations.activity.team.#{key}", **params)
|
|
|
|
::Conversations::ActivityMessageJob.perform_later(self, activity_message_params(content)) if content
|
|
end
|
|
|
|
def generate_team_change_activity_key
|
|
team = Team.find_by(id: team_id)
|
|
key = team.present? ? 'assigned' : 'removed'
|
|
key += '_with_assignee' if key == 'assigned' && saved_change_to_assignee_id? && assignee
|
|
key
|
|
end
|
|
|
|
def generate_team_name_for_activity
|
|
previous_team_id = previous_changes[:team_id][0]
|
|
Team.find_by(id: previous_team_id)&.name if previous_team_id.present?
|
|
end
|
|
end
|