VRFS-3390 fixed quoting issue and text search

This commit is contained in:
Jonathan Kolyer 2015-08-27 04:26:38 +00:00
parent c1b8bf9ff7
commit 23bf15eb50
1 changed files with 6 additions and 3 deletions

View File

@ -39,13 +39,15 @@ module JamRuby
def do_search(filter)
rel = JamTrack.unscoped
unless (vals=filter[KEY_GENRES]).blank?
sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'")
sqlstr = "'#{vals.join("','")}'"
# sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'")
rel = rel.joins(:genres_jam_tracks)
rel = rel.where("genres_jam_tracks.genre_id IN (#{sqlstr})")
end
unless (vals=filter[KEY_INSTRUMENTS]).blank?
sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'")
sqlstr = "'#{vals.join("','")}'"
# sqlstr = ActiveRecord::Base.connection.quote("'#{vals.join("','")}'")
rel = rel.joins(:jam_track_tracks)
rel = rel.where("jam_track_tracks.instrument_id IN (#{sqlstr})")
rel = rel.where("jam_track_tracks.track_type != 'Master'")
@ -65,7 +67,8 @@ module JamRuby
if has_songs
rel = do_search(filter)
unless (val=filter[KEY_SEARCH_STR]).blank?
rel = rel.where("name LIKE ?","%#{val}%")
tsquery = Search.create_tsquery(val)
rel = rel.where("(search_tsv @@ to_tsquery('jamenglish', ?))", tsquery) if tsquery
end
rel = rel.order(:name).includes(:genres)