diff --git a/ruby/lib/jam_ruby/models/music_session.rb b/ruby/lib/jam_ruby/models/music_session.rb index cdcea5cc6..a2e353ede 100644 --- a/ruby/lib/jam_ruby/models/music_session.rb +++ b/ruby/lib/jam_ruby/models/music_session.rb @@ -243,7 +243,7 @@ module JamRuby def self.scheduled user query = MusicSession.where("music_sessions.canceled = FALSE") query = query.where("music_sessions.user_id = '#{user.id}'") - query = query.where("music_sessions.scheduled_start > NOW() - '12 hour'::INTERVAL") + query = query.where("music_sessions.scheduled_start IS NULL OR music_sessions.scheduled_start > NOW() - '12 hour'::INTERVAL") query = query.where("music_session_id IS NULL") query = query.order("music_sessions.scheduled_start ASC") @@ -251,7 +251,9 @@ module JamRuby end def self.scheduled_rsvp user - MusicSession.where(%Q{music_sessions.canceled = FALSE AND music_sessions.id in ( + MusicSession.where(%Q{music_sessions.canceled = FALSE AND + (music_sessions.scheduled_start is NULL OR music_sessions.scheduled_start > NOW() - '4 hour'::INTERVAL) AND + music_sessions.id in ( select distinct(rs.music_session_id) from rsvp_slots rs where rs.id in ( @@ -766,12 +768,10 @@ module JamRuby # this should be in a helper def pretty_scheduled_start(with_timezone) - puts "scheduled-start #{scheduled_start} schedulduarai #{scheduled_duration}" if scheduled_start && scheduled_duration start_time = scheduled_start timezone_display = 'UTC' tz_identifier, tz_display = MusicSession.split_timezone(timezone) - puts "tz_identifier, tz_display #{tz_identifier} #{tz_display}" begin tz = TZInfo::Timezone.get(tz_identifier) rescue Exception => e diff --git a/ruby/spec/jam_ruby/models/music_session_spec.rb b/ruby/spec/jam_ruby/models/music_session_spec.rb index c3d155148..bf78f5cb1 100644 --- a/ruby/spec/jam_ruby/models/music_session_spec.rb +++ b/ruby/spec/jam_ruby/models/music_session_spec.rb @@ -388,6 +388,10 @@ describe MusicSession do sessions = MusicSession.scheduled(session.creator) sessions.length.should == 1 + session.scheduled_start = nil + session.save! + sessions = MusicSession.scheduled(session.creator) + sessions.length.should == 1 end it "excludes canceled" do @@ -731,6 +735,12 @@ describe MusicSession do music_session_1.save! MusicSession.scheduled_rsvp(creator_1).should == [] end + + it "does not list old" do + music_session_1.scheduled_start = 5.hours.ago + music_session_1.save! + MusicSession.scheduled_rsvp(creator_1).should == [] + end end end end