From 1858e0da49637665267e73e304a5c0df50e1425a Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Fri, 19 Sep 2014 00:24:38 -0400 Subject: [PATCH] VRFS-2218 VRFS-2197 allow unstarted scheduled sessions to be listed up to 12 hours after start time; allow completed sessions to be listed up 2 to hours after completion time --- ruby/lib/jam_ruby/models/music_session.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ruby/lib/jam_ruby/models/music_session.rb b/ruby/lib/jam_ruby/models/music_session.rb index d00386eef..c04c58514 100644 --- a/ruby/lib/jam_ruby/models/music_session.rb +++ b/ruby/lib/jam_ruby/models/music_session.rb @@ -280,9 +280,15 @@ module JamRuby end def self.scheduled user + # keep unstarted sessions around for 12 hours after scheduled_start + session_not_started = "(music_sessions.scheduled_start > NOW() - '12 hour'::INTERVAL AND music_sessions.started_at IS NULL)" + + # let session be restarted for up to 2 hours after finishing + session_finished = "(music_sessions.session_removed_at > NOW() - '2 hour'::INTERVAL)" + query = MusicSession.where("music_sessions.canceled = FALSE") query = query.where("music_sessions.user_id = '#{user.id}'") - query = query.where("music_sessions.scheduled_start IS NULL OR music_sessions.scheduled_start > NOW() - '12 hour'::INTERVAL") + query = query.where("music_sessions.scheduled_start IS NULL OR #{session_not_started} OR #{session_finished}") query = query.order("music_sessions.scheduled_start ASC") query