diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 0fb05178c..e7aa27033 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -263,8 +263,8 @@ module ApplicationHelper def pagination_links_full(paginator, count=nil, options={}) page_param = options.delete(:page_param) || :page url_param = params.dup - # don't reuse params if filters are present - url_param.clear if url_param.has_key?(:set_filter) + # don't reuse query params if filters are present + url_param.merge!(:fields => nil, :values => nil, :operators => nil) if url_param.delete(:set_filter) html = '' if paginator.current.previous diff --git a/app/views/issues/index.rhtml b/app/views/issues/index.rhtml index 64592a5a8..dc93e41f2 100644 --- a/app/views/issues/index.rhtml +++ b/app/views/issues/index.rhtml @@ -3,7 +3,7 @@ <% html_title(l(:label_issue_plural)) %> <% form_tag({ :controller => 'queries', :action => 'new' }, :id => 'query_form') do %> - <%= hidden_field_tag('project_id', @project.id) if @project %> + <%= hidden_field_tag('project_id', @project.to_param) if @project %>
<%= l(:label_filter_plural) %> <%= render :partial => 'queries/filters', :locals => {:query => @query} %>

@@ -14,7 +14,7 @@ }, :class => 'icon icon-checked' %> <%= link_to_remote l(:button_clear), - { :url => { :set_filter => 1, :project_id => (@project.nil? ? nil : @project.id) }, + { :url => { :set_filter => 1, :project_id => @project }, :method => :get, :update => "content", }, :class => 'icon icon-reload' %> diff --git a/app/views/queries/_filters.rhtml b/app/views/queries/_filters.rhtml index c9d612364..b25cd01aa 100644 --- a/app/views/queries/_filters.rhtml +++ b/app/views/queries/_filters.rhtml @@ -95,7 +95,10 @@ function toggle_multi_select(field) { <%= l(:label_filter_add) %>: -<%= select_tag 'add_filter_select', options_for_select([["",""]] + query.available_filters.sort{|a,b| a[1][:order]<=>b[1][:order]}.collect{|field| [ field[1][:name] || l(("field_"+field[0].to_s.gsub(/\_id$/, "")).to_sym), field[0]] unless query.has_filter?(field[0])}.compact), :onchange => "add_filter();", :class => "select-small" %> +<%= select_tag 'add_filter_select', options_for_select([["",""]] + query.available_filters.sort{|a,b| a[1][:order]<=>b[1][:order]}.collect{|field| [ field[1][:name] || l(("field_"+field[0].to_s.gsub(/_id$/, "")).to_sym), field[0]] unless query.has_filter?(field[0])}.compact), + :onchange => "add_filter();", + :class => "select-small", + :name => nil %>