From 8f6e81a6872ce45ec7ec4f6956ea4eadcd918faa Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Tue, 22 Jul 2025 15:04:55 +0200 Subject: [PATCH] Only summarize today if there are at least 10 events https://3.basecamp.com/2914079/buckets/37331921/todos/8877635813#__recording_8879434338 --- app/models/user/day_timeline.rb | 2 ++ app/models/user/day_timeline/summarizable.rb | 4 ++++ app/views/events/day_timeline/_summary.html.erb | 16 +++++++++------- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/models/user/day_timeline.rb b/app/models/user/day_timeline.rb index 6f29d7a9d..6050eaebe 100644 --- a/app/models/user/day_timeline.rb +++ b/app/models/user/day_timeline.rb @@ -3,6 +3,8 @@ class User::DayTimeline attr_reader :user, :day, :filter + delegate :today?, to: :day + def initialize(user, day, filter) @user, @day, @filter = user, day, filter end diff --git a/app/models/user/day_timeline/summarizable.rb b/app/models/user/day_timeline/summarizable.rb index ed0db0399..bcfa54323 100644 --- a/app/models/user/day_timeline/summarizable.rb +++ b/app/models/user/day_timeline/summarizable.rb @@ -9,6 +9,10 @@ module User::DayTimeline::Summarizable @summary ||= Event::ActivitySummary.for(events) end + def summarizable? + !day.today? || events.count >= 10 + end + def summarize Event::ActivitySummary.create_for(events) end diff --git a/app/views/events/day_timeline/_summary.html.erb b/app/views/events/day_timeline/_summary.html.erb index 4ec4dd75d..1bf4781cf 100644 --- a/app/views/events/day_timeline/_summary.html.erb +++ b/app/views/events/day_timeline/_summary.html.erb @@ -1,8 +1,10 @@ -<% if day_timeline.summarized? %> - <%= render "events/day_timeline/activity_summary", summary: day_timeline.summary %> -<% else %> -
- <%= auto_submit_form_with url: events_activity_summaries_path(day: day_timeline.day, **day_timeline.filter.as_params), method: :post %> - Generating summary... -
+<% if day_timeline.summarizable? %> + <% if day_timeline.summarized? %> + <%= render "events/day_timeline/activity_summary", summary: day_timeline.summary %> + <% else %> +
+ <%= auto_submit_form_with url: events_activity_summaries_path(day: day_timeline.day, **day_timeline.filter.as_params), method: :post %> + Generating summary... +
+ <% end %> <% end %>