From affa4cae7a68c12cb4784e511458f83f68be4c53 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Tue, 4 Feb 2025 16:14:29 -0600 Subject: [PATCH] Track changes to the bubble's name --- app/helpers/events_helper.rb | 4 +++- app/models/bubble.rb | 10 ++++++++++ app/models/event_summary.rb | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index b02523ae7..b6564e4cc 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -71,6 +71,8 @@ module EventsHelper "#{event.creator.name} changed the date to #{event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')}" when "due_date_removed" "#{event.creator.name} removed the date" + when "title_changed" + "#{event.creator.name} renamed this (was: '#{event.particulars.dig('particulars', 'old_title')})'" end end @@ -87,7 +89,7 @@ module EventsHelper when "due_date_added", "due_date_changed" "calendar" else - "check" + "person" end end end diff --git a/app/models/bubble.rb b/app/models/bubble.rb index 355703849..ccd1021f6 100644 --- a/app/models/bubble.rb +++ b/app/models/bubble.rb @@ -11,6 +11,7 @@ class Bubble < ApplicationRecord before_save :set_default_title after_save :track_due_date_change, if: :saved_change_to_due_on? + after_save :track_title_change, if: :saved_change_to_title? scope :reverse_chronologically, -> { order created_at: :desc, id: :desc } scope :chronologically, -> { order created_at: :asc, id: :asc } @@ -45,6 +46,15 @@ class Bubble < ApplicationRecord end end + def track_title_change + if title_before_last_save.present? + track_event("title_changed", particulars: { + old_title: title_before_last_save, + new_title: title + }) + end + end + def set_default_title self.title = title.presence || "Untitled" end diff --git a/app/models/event_summary.rb b/app/models/event_summary.rb index 070e79138..6891da43d 100644 --- a/app/models/event_summary.rb +++ b/app/models/event_summary.rb @@ -35,6 +35,8 @@ class EventSummary < ApplicationRecord "#{event.creator.name} changed due date to #{event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')}." when "due_date_removed" "#{event.creator.name} removed the date." + when "title_changed" + "#{event.creator.name} changed title from '#{event.particulars.dig('particulars', 'old_title')}' to '#{event.particulars.dig('particulars', 'new_title')}'." end end