module ActiveScaffold::Actions::CommonSearch::InstanceMethods
Public Instance Methods
show_search()
click to toggle source
# File lib/active_scaffold/actions/common_search.rb, line 13 def show_search respond_to_action(search_partial || :search) end
Protected Instance Methods
do_search()
click to toggle source
# File lib/active_scaffold/actions/common_search.rb, line 19 def do_search; end
permitted_search_params()
click to toggle source
# File lib/active_scaffold/actions/common_search.rb, line 30 def permitted_search_params params_hash params[:search] end
search_params()
click to toggle source
# File lib/active_scaffold/actions/common_search.rb, line 63 def search_params @search_params || active_scaffold_session_storage['search'] unless params[:id] end
search_partial()
click to toggle source
# File lib/active_scaffold/actions/common_search.rb, line 21 def search_partial @_search_partial ||= if params[:kind].present? && active_scaffold_config.actions.include?(params[:kind]) params.delete(:kind) else active_scaffold_config.list.auto_search_partial end end
set_outer_joins_for_search(columns)
click to toggle source
# File lib/active_scaffold/actions/common_search.rb, line 34 def set_outer_joins_for_search(columns) # rubocop:disable Naming/AccessorMethodName references = [] outer_joins = [] columns.each do |column| next if column.search_joins.blank? if column.includes.present? && list_columns.include?(column) references << (column.search_joins & column.includes) outer_joins << (column.search_joins - column.includes) else outer_joins << column.search_joins end end active_scaffold_references.concat references.flatten.uniq.compact active_scaffold_outer_joins.concat outer_joins.flatten.uniq.compact end
store_search_params_into_session()
click to toggle source
# File lib/active_scaffold/actions/common_search.rb, line 50 def store_search_params_into_session if active_scaffold_config.store_user_settings if params[:search].present? active_scaffold_session_storage['search'] = permitted_search_params elsif params.key? :search active_scaffold_session_storage.delete 'search' end else @search_params = permitted_search_params end params.delete :search end