Commit ab66aa9b5951b748156bb9dc20b1e4820645e89d

Authored by Rodrigo Souto
1 parent c6b33ac3

[search-improvements] Use dispatch_first already builtin default action

app/controllers/application_controller.rb
@@ -165,24 +165,10 @@ class ApplicationController < ActionController::Base @@ -165,24 +165,10 @@ class ApplicationController < ActionController::Base
165 end 165 end
166 166
167 def find_by_contents(asset, scope, query, paginate_options={:page => 1}, options={}) 167 def find_by_contents(asset, scope, query, paginate_options={:page => 1}, options={})
168 - plugins.dispatch_first(:find_by_contents, asset, scope, query, paginate_options, options) ||  
169 - fallback_find_by_contents(asset, scope, query, paginate_options, options) 168 + plugins.dispatch_first(:find_by_contents, asset, scope, query, paginate_options, options)
170 end 169 end
171 170
172 def find_suggestions(asset, query, options={}) 171 def find_suggestions(asset, query, options={})
173 - plugins.dispatch_first(:find_suggestions, asset, query, options) ||  
174 - fallback_find_suggestions(asset, query, options)  
175 - end  
176 -  
177 - private  
178 -  
179 - def fallback_find_by_contents(asset, scope, query, paginate_options, options)  
180 - scope = scope.like_search(query) unless query.blank?  
181 - scope = scope.send(options[:filter]) unless options[:filter].blank?  
182 - {:results => scope.paginate(paginate_options)}  
183 - end  
184 -  
185 - def fallback_find_suggestions(asset, query, options)  
186 - #TODO Implement fallback suggestions solution 172 + plugins.dispatch_first(:find_suggestions, asset, query, options)
187 end 173 end
188 end 174 end
lib/noosfero/plugin.rb
@@ -505,6 +505,9 @@ class Noosfero::Plugin @@ -505,6 +505,9 @@ class Noosfero::Plugin
505 # P.S.: The plugin might add other informations on the return hash for its 505 # P.S.: The plugin might add other informations on the return hash for its
506 # own use in specific views 506 # own use in specific views
507 def find_by_contents(asset, scope, query, paginate_options={}, options={}) 507 def find_by_contents(asset, scope, query, paginate_options={}, options={})
  508 + scope = scope.like_search(query) unless query.blank?
  509 + scope = scope.send(options[:filter]) unless options[:filter].blank?
  510 + {:results => scope.paginate(paginate_options)}
508 end 511 end
509 512
510 # -> Suggests terms based on asset and query 513 # -> Suggests terms based on asset and query