From 470c1687839be9dfde88f83a159e13eb4a666893 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Tue, 30 Apr 2019 03:10:43 +0000 Subject: [PATCH] Changes Query#as_params for more complete serialization (#31276). MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Patch by Jens Krämer. git-svn-id: http://svn.redmine.org/redmine/trunk@18103 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/query.rb | 2 ++ test/unit/query_test.rb | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/app/models/query.rb b/app/models/query.rb index da76b974d..6dea88c78 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -426,6 +426,8 @@ class Query < ActiveRecord::Base params[:v][field] = options[:values] end params[:c] = column_names + params[:group_by] = group_by.to_s if group_by.present? + params[:t] = totalable_names.map(&:to_s) if totalable_names.any? params[:sort] = sort_criteria.to_param params[:set_filter] = 1 params diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index 39b4a13e9..287ea7c45 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -2295,4 +2295,19 @@ class QueryTest < ActiveSupport::TestCase assert_equal [["active", "1"], ["closed", "5"]], project_status_filter[:values] end + + def test_as_params_should_serialize_query + query = IssueQuery.new(name: "_") + query.add_filter('subject', '!~', ['asdf']) + query.group_by = 'tracker' + query.totalable_names = %w(estimated_hours) + query.column_names = %w(id subject estimated_hours) + assert hsh = query.as_params + + new_query = IssueQuery.build_from_params(hsh) + assert_equal query.filters, new_query.filters + assert_equal query.group_by, new_query.group_by + assert_equal query.column_names, new_query.column_names + assert_equal query.totalable_names, new_query.totalable_names + end end -- 2.39.5