module ActiveScaffold::Helpers::HumanConditionHelpers
Helpers that assist with rendering of a human readable search statement
Public Instance Methods
active_scaffold_human_condition_boolean(column, value)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 47 def active_scaffold_human_condition_boolean(column, value) attribute = column.active_record_class.human_attribute_name(column.name) label = as_(ActiveScaffold::Core.column_type_cast(value, column.column) ? :true : :false) as_(:boolean, :scope => :human_conditions, :column => attribute, :value => label) end
Also aliased as: active_scaffold_human_condition_checkbox
active_scaffold_human_condition_checkbox(column, value)
Alias for: active_scaffold_human_condition_boolean
active_scaffold_human_condition_date(column, value)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 37 def active_scaffold_human_condition_date(column, value) conversion = column.column.type == :date ? :to_date : :to_time from = I18n.l controller.condition_value_for_datetime(column, value[:from], conversion) to = "- #{I18n.l controller.condition_value_for_datetime(column, value[:to], conversion)}" if value[:opt] == 'BETWEEN' format_human_condition column, value[:opt], from, to end
active_scaffold_human_condition_datetime(column, value)
Alias for: active_scaffold_human_condition_date
active_scaffold_human_condition_decimal(column, value)
Alias for: active_scaffold_human_condition_integer
active_scaffold_human_condition_float(column, value)
Alias for: active_scaffold_human_condition_integer
active_scaffold_human_condition_for(column)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 5 def active_scaffold_human_condition_for(column) return if (value = field_search_params[column.name.to_s]).nil? search_ui = column.search_ui search_ui ||= column.column.type if column.column if override_human_condition_column?(column) send(override_human_condition_column(column), value, {}) elsif search_ui && override_human_condition?(search_ui) send(override_human_condition(search_ui), column, value) else logger.warn "undefined active_scaffold_human_condition method for search_ui #{search_ui} on column #{column.name}" end end
active_scaffold_human_condition_integer(column, value)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 23 def active_scaffold_human_condition_integer(column, value) from = format_number_value(controller.class.condition_value_for_numeric(column, value[:from]), column.options) if value[:from].present? to = "- #{format_number_value(controller.class.condition_value_for_numeric(column, value[:to]), column.options)}" if value[:opt] == 'BETWEEN' format_human_condition column, value[:opt].downcase, from, to end
Also aliased as: active_scaffold_human_condition_decimal, active_scaffold_human_condition_float
active_scaffold_human_condition_multi_select(column, associated)
Alias for: active_scaffold_human_condition_select
active_scaffold_human_condition_null(column, value)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 54 def active_scaffold_human_condition_null(column, value) format_human_condition column, value.to_sym end
active_scaffold_human_condition_record_select(column, associated)
Alias for: active_scaffold_human_condition_select
active_scaffold_human_condition_select(column, associated)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 58 def active_scaffold_human_condition_select(column, associated) attribute = column.active_record_class.human_attribute_name(column.name) associated = [associated].compact unless associated.is_a? Array if column.association method = column.options[:label_method] || :to_label associated = column.association.klass.where(:id => associated.map(&:to_i)).map(&method) elsif column.options[:options] associated = associated.collect do |value| text, val = column.options[:options].find { |text, val| (val.nil? ? text : val).to_s == value.to_s } value = active_scaffold_translated_option(column, text, val).first if text value end end as_(:association, :scope => :human_conditions, :column => attribute, :value => associated.join(', ')) end
active_scaffold_human_condition_string(column, value)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 31 def active_scaffold_human_condition_string(column, value) opt = ActiveScaffold::Finder::STRING_COMPARATORS.key(value[:opt]) || value[:opt] to = "- #{value[:to]}" if opt == 'BETWEEN' format_human_condition column, opt, "'#{value[:from]}'", to end
active_scaffold_human_condition_timestamp(column, value)
Alias for: active_scaffold_human_condition_date
format_human_condition(column, opt, from = nil, to = nil)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 18 def format_human_condition(column, opt, from = nil, to = nil) attribute = column.active_record_class.human_attribute_name(column.name) "#{attribute} #{as_(opt).downcase} #{from} #{to}" end
override_human_condition(search_ui)
click to toggle source
the naming convention for overriding human condition search_ui types
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 87 def override_human_condition(search_ui) "active_scaffold_human_condition_#{search_ui}" end
override_human_condition?(search_ui)
click to toggle source
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 82 def override_human_condition?(search_ui) respond_to?(override_human_condition(search_ui)) end
override_human_condition_column(column)
click to toggle source
the naming convention for overriding form fields with helpers
# File lib/active_scaffold/helpers/human_condition_helpers.rb, line 77 def override_human_condition_column(column) override_helper column, 'human_condition_column' end
Also aliased as: override_human_condition_column?