Skip to content

Commit

Permalink
more 2.2.2 fixe
Browse files Browse the repository at this point in the history
  • Loading branch information
tvongaza committed Feb 11, 2009
1 parent 78518e7 commit e863f74
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 27 deletions.
2 changes: 1 addition & 1 deletion frontends/default/views/_association.rhtml
Expand Up @@ -15,4 +15,4 @@
check_box_tag(list_filter_input_name(filter) + "[]",
"#{value.id}",session_value) + " #{value.to_label}") %>
</div>
<% end -%>
<% end -%>
31 changes: 6 additions & 25 deletions lib/active_scaffold/actions/list_filter.rb
Expand Up @@ -4,25 +4,10 @@ def self.included(base)
active_scaffold_default_frontend_path = File.join(Rails.root, 'vendor', 'plugins', File.expand_path(__FILE__).match(/vendor\/plugins\/([^\/]*)/)[1], 'frontends', 'default' , 'views')
base.append_view_path(active_scaffold_default_frontend_path)

base.send :alias_method_chain, :joins_for_finder, :list_filters
base.before_filter :list_filter_authorized?, :only => [:list_filter]
base.before_filter :init_filter_session_var
base.before_filter :do_list_filter
end

def joins_for_finder_with_list_filters
joins_for_finder_without_list_filters + joins_for_list_filter_finder
end

def joins_for_list_filter_finder
joins = []
active_scaffold_config.list_filter.filters.each do |filter|
find_options = filter.find_options
joins << find_options[:include] unless find_options.nil? || find_options[:include].nil?
end
joins
end


# todo, clean this up!!!
def init_filter_session_var
Expand Down Expand Up @@ -64,29 +49,25 @@ def list_filter
protected

def do_list_filter
# move to hook into these
# self.active_scaffold_conditions = merge_conditions(self.active_scaffold_conditions, *search_conditions)
# @filtered = !search_conditions.blank?
#
# includes_for_search_columns = columns.collect{ |column| column.includes}.flatten.uniq.compact
# self.active_scaffold_joins.concat includes_for_search_columns


verbose_filter = []
active_scaffold_config.list_filter.filters.each do |filter|
filter_session = active_scaffold_session_storage["list_filter"] unless active_scaffold_session_storage["list_filter"].nil?
filter_session = filter_session[filter.filter_type] unless filter_session.nil?
filter_session = filter_session[filter.name] unless filter_session.nil?
filter.session = filter_session

# set our conditions
find_options = filter.find_options
conditions = find_options[:conditions] unless find_options.nil?

conditions = find_options[:conditions] unless find_options.nil?
self.active_scaffold_conditions = merge_conditions(self.active_scaffold_conditions, conditions)

# set our joins
joins = find_options[:include] unless find_options.nil?
self.active_scaffold_joins.concat [joins].flatten.uniq.compact unless joins.nil?

active_scaffold_config.list.user.page = nil
verbose_filter << "#{filter.label} (#{filter.verbose})" unless filter.verbose.nil?
@filtered = !filter.verbose.nil?
end

set_flash(verbose_filter)
Expand Down
2 changes: 1 addition & 1 deletion lib/list_filters/association_filter.rb
Expand Up @@ -6,7 +6,7 @@ def find_options
association = association_class
options = {}
options[:include] = association_name
options[:conditions] = ["#{association.klass.table_name}.id IN (?)", params]
options[:conditions] = ["#{association.table_name}.id IN (?)", params]

return options
end unless params.nil? || params.empty?
Expand Down

0 comments on commit e863f74

Please sign in to comment.