added participants as filter criteria / fixed bug with genre filter
This commit is contained in:
parent
6606094e40
commit
ceaf4119af
|
|
@ -38,7 +38,7 @@ module JamRuby
|
|||
|
||||
# This is a little confusing. You can specify *BOTH* friends_only and my_bands_only to be true
|
||||
# If so, then it's an OR condition. If both are false, you can get sessions with anyone.
|
||||
def self.index(current_user, genres = nil, friends_only = false, my_bands_only = false)
|
||||
def self.index(current_user, participants = nil, genres = nil, friends_only = false, my_bands_only = false)
|
||||
|
||||
query = MusicSession
|
||||
.joins(
|
||||
|
|
@ -88,8 +88,9 @@ module JamRuby
|
|||
invitations.id IS NOT NULL
|
||||
}
|
||||
)
|
||||
|
||||
query = query.joins(:genres).where("genres.id" => genres) unless genres.nil?
|
||||
|
||||
query = query.where("connections.user_id" => participants.split(',')) unless participants.nil?
|
||||
query = query.joins(:genres).where("genres.id" => genres.split(',')) unless genres.nil?
|
||||
|
||||
if my_bands_only
|
||||
query = query.joins(
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ describe MusicSession do
|
|||
session = FactoryGirl.create(:music_session, :creator => creator, :description => "Session", :genres => [genre])
|
||||
user = FactoryGirl.create(:user)
|
||||
|
||||
music_sessions = MusicSession.index(user, [genre.id])
|
||||
music_sessions = MusicSession.index(user, nil, [genre.id])
|
||||
music_sessions.length.should == 1
|
||||
end
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ describe MusicSession do
|
|||
session = FactoryGirl.create(:music_session, :creator => creator, :description => "Session", :genres => [genre1])
|
||||
user = FactoryGirl.create(:user)
|
||||
|
||||
music_sessions = MusicSession.index(user, [genre2.id])
|
||||
music_sessions = MusicSession.index(user, nil, [genre2.id])
|
||||
music_sessions.length.should == 0
|
||||
end
|
||||
|
||||
|
|
@ -174,7 +174,7 @@ describe MusicSession do
|
|||
session = FactoryGirl.create(:music_session, :creator => creator, :description => "Session")
|
||||
user = FactoryGirl.create(:user)
|
||||
|
||||
music_sessions = MusicSession.index(user, nil, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, true)
|
||||
music_sessions.length.should == 0
|
||||
end
|
||||
|
||||
|
|
@ -186,13 +186,13 @@ describe MusicSession do
|
|||
FactoryGirl.create(:friendship, :user => user, :friend => creator)
|
||||
FactoryGirl.create(:connection, :user => creator, :music_session => session)
|
||||
|
||||
music_sessions = MusicSession.index(user, nil)
|
||||
music_sessions = MusicSession.index(user, nil, nil)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions = MusicSession.index(user, nil, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, true)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions = MusicSession.index(user, nil, false, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, false, true)
|
||||
music_sessions.length.should == 0
|
||||
music_sessions = MusicSession.index(user, nil, true, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, true, true)
|
||||
music_sessions.length.should == 1
|
||||
end
|
||||
|
||||
|
|
@ -201,7 +201,7 @@ describe MusicSession do
|
|||
session = FactoryGirl.create(:music_session, :creator => creator, :description => "Session")
|
||||
user = FactoryGirl.create(:user)
|
||||
|
||||
music_sessions = MusicSession.index(user, nil, false, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, false, true)
|
||||
music_sessions.length.should == 0
|
||||
end
|
||||
|
||||
|
|
@ -213,13 +213,13 @@ describe MusicSession do
|
|||
FactoryGirl.create(:band_musician, :band => band, :user => creator)
|
||||
FactoryGirl.create(:band_musician, :band => band, :user => user)
|
||||
|
||||
music_sessions = MusicSession.index(user, nil)
|
||||
music_sessions = MusicSession.index(user, nil, nil)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions = MusicSession.index(user, nil, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, true)
|
||||
music_sessions.length.should == 0
|
||||
music_sessions = MusicSession.index(user, nil, false, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, false, true)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions = MusicSession.index(user, nil, true, true)
|
||||
music_sessions = MusicSession.index(user, nil, nil, true, true)
|
||||
music_sessions.length.should == 1
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue