diff --git a/app/models/environment_finder.rb b/app/models/environment_finder.rb index 2f55485..83d15c1 100644 --- a/app/models/environment_finder.rb +++ b/app/models/environment_finder.rb @@ -49,13 +49,19 @@ class EnvironmentFinder end else pg_options = {:page => options.delete(:page), :per_page => options.delete(:per_page)} + solr_options = {:facets => options.delete(:facets)} if product_category && asset == :products # SECURITY no risk of SQL injection, since product_category_ids comes from trusted source - @environment.send(asset).find_by_contents(query, pg_options, {}, options.merge({:include => 'product_categorizations', :conditions => 'product_categorizations.category_id = (%s)' % product_category.id }))[:results] + ret = @environment.send(asset).find_by_contents(query, pg_options, solr_options, options.merge({:include => 'product_categorizations', :conditions => 'product_categorizations.category_id = (%s)' % product_category.id })) elsif product_category && asset == :enterprises - @environment.send(asset).find_by_contents(query, pg_options, {}, options.merge(:joins => 'inner join product_categorizations on (product_categorizations.product_id = products.id)', :include => 'products', :conditions => "product_categorizations.category_id = (#{product_category.id})"))[:results] + ret = @environment.send(asset).find_by_contents(query, pg_options, solr_options, options.merge(:joins => 'inner join product_categorizations on (product_categorizations.product_id = products.id)', :include => 'products', :conditions => "product_categorizations.category_id = (#{product_category.id})")) else - @environment.send(asset).find_by_contents(query, pg_options, {}, options)[:results] + ret = @environment.send(asset).find_by_contents(query, pg_options, solr_options, options) + end + if solr_options[:facets].nil? + ret[:results] + else + ret end end end -- libgit2 0.21.2