module ActiveScaffold::Actions::FieldSearch

Public Class Methods

included(base) click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 4
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 :field_search_params
end

Public Instance Methods

Protected Instance Methods

field_search_params() click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 32
def field_search_params
  search_params || {}
end
field_search_respond_to_html() click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 36
def field_search_respond_to_html
  render(:action => "field_search")
end
field_search_respond_to_js() click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 40
def field_search_respond_to_js
  render(:partial => "field_search")
end
set_field_search_default_params(default_params) click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 26
def set_field_search_default_params(default_params)
  if (params[:search].nil? && search_params.nil?) || (params[:search].is_a?(String) && params[:search].blank?)
    params[:search] = default_params.is_a?(Proc) ? self.instance_eval(&default_params) : default_params
  end
end
store_search_params_into_session() click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 20
def store_search_params_into_session
  set_field_search_default_params(active_scaffold_config.field_search.default_params) unless active_scaffold_config.field_search.default_params.nil?
  super
  active_scaffold_session_storage[:search] = nil if search_params.is_a?(String)
end

Private Instance Methods

field_search_formats() click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 78
def field_search_formats
  (default_formats + active_scaffold_config.formats + active_scaffold_config.field_search.formats).uniq
end
search_authorized_filter() click to toggle source
# File lib/active_scaffold/actions/field_search.rb, line 74
def search_authorized_filter
  link = active_scaffold_config.field_search.link || active_scaffold_config.field_search.class.link
  raise ActiveScaffold::ActionNotAllowed unless self.send(link.security_method)
end