From fc6ee694907864eb3b98ae80ffdf3397b06322e8 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 10 Jul 2016 16:58:43 +0000 Subject: [PATCH] Don't generate sort links with params. git-svn-id: http://svn.redmine.org/redmine/trunk@15628 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/sort_helper.rb | 7 +------ test/integration/issues_test.rb | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/app/helpers/sort_helper.rb b/app/helpers/sort_helper.rb index 8c17f115d..8fb13818f 100644 --- a/app/helpers/sort_helper.rb +++ b/app/helpers/sort_helper.rb @@ -218,12 +218,7 @@ module SortHelper caption = column.to_s.humanize unless caption sort_options = { :sort => @sort_criteria.add(column.to_s, order).to_param } - url_options = params.merge(sort_options) - - # Add project_id to url_options - url_options = url_options.merge(:project_id => params[:project_id]) if params.has_key?(:project_id) - - link_to(caption, url_options, :class => css) + link_to(caption, {:params => request.query_parameters.merge(sort_options)}, :class => css) end # Returns a table header tag with a sort link for the named column diff --git a/test/integration/issues_test.rb b/test/integration/issues_test.rb index 5d94a57bc..668f346d4 100644 --- a/test/integration/issues_test.rb +++ b/test/integration/issues_test.rb @@ -143,6 +143,32 @@ class IssuesTest < Redmine::IntegrationTest end end + def test_pagination_links_should_not_use_params_as_url_options + with_settings :per_page_options => '2' do + get '/projects/ecookbook/issues?host=foo' + + assert_select 'a[href=?]', '/projects/ecookbook/issues?host=foo&page=2', :text => '2' + end + end + + def test_sort_links_on_index + get '/projects/ecookbook/issues' + + assert_select 'a[href=?]', '/projects/ecookbook/issues?sort=subject%2Cid%3Adesc', :text => 'Subject' + end + + def test_sort_links_should_preserve_query_parameters + get '/projects/ecookbook/issues?foo=bar' + + assert_select 'a[href=?]', '/projects/ecookbook/issues?foo=bar&sort=subject%2Cid%3Adesc', :text => 'Subject' + end + + def test_sort_links_should_not_use_params_as_url_options + get '/projects/ecookbook/issues?host=foo' + + assert_select 'a[href=?]', '/projects/ecookbook/issues?host=foo&sort=subject%2Cid%3Adesc', :text => 'Subject' + end + def test_issue_with_user_custom_field @field = IssueCustomField.create!(:name => 'Tester', :field_format => 'user', :is_for_all => true, :trackers => Tracker.all) Role.anonymous.add_permission! :add_issues, :edit_issues -- 2.39.5