lib/active_scaffold/actions/search.rb in active_scaffold-sequel-0.6.0 vs lib/active_scaffold/actions/search.rb in active_scaffold-sequel-0.6.1

- old
+ new

@@ -1,8 +1,9 @@ module ActiveScaffold::Actions module Search include ActiveScaffold::Actions::CommonSearch + def self.included(base) base.before_filter :search_authorized_filter, :only => :show_search base.before_filter :store_search_params_into_session, :only => [:index] base.before_filter :do_search, :only => [:index] base.helper_method :search_params @@ -11,18 +12,21 @@ def show_search respond_to_action(:search) end protected + def search_respond_to_html render(:action => "search") end + def search_respond_to_js render(:partial => "search") end + def do_search - query = search_params.to_s.strip rescue '' + query = search_params.to_s unless query.empty? columns = active_scaffold_config.search.columns text_search = active_scaffold_config.search.text_search query = query.split(active_scaffold_config.search.split_terms) if active_scaffold_config.search.split_terms search_conditions = self.class.create_conditions_for_columns(query, columns, text_search) @@ -35,13 +39,15 @@ active_scaffold_config.list.user.page = nil end end private + def search_authorized_filter link = active_scaffold_config.search.link || active_scaffold_config.search.class.link raise ActiveScaffold::ActionNotAllowed unless self.send(link.security_method) end + def search_formats (default_formats + active_scaffold_config.formats + active_scaffold_config.search.formats).uniq end end end