summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2019-04-30 03:33:17 +0000
committerGo MAEDA <maeda@farend.jp>2019-04-30 03:33:17 +0000
commit54909632237a9868475c0c46b8b9fd8aac766c46 (patch)
tree7ce4a3ee7a5af4b7d306e0cdf4e2f5db6f47bc5e
parentf2c50effe8ec04405e7163fec26c2f193be9846b (diff)
downloadredmine-54909632237a9868475c0c46b8b9fd8aac766c46.tar.gz
redmine-54909632237a9868475c0c46b8b9fd8aac766c46.zip
Merged r18103 from trunk to 3.4-stable (#31276).
git-svn-id: http://svn.redmine.org/redmine/branches/3.4-stable@18105 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/query.rb2
-rw-r--r--test/unit/query_test.rb15
2 files changed, 17 insertions, 0 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index c8fc7789c..bfa010de6 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -399,6 +399,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 c7c8e97f7..508922ff3 100644
--- a/test/unit/query_test.rb
+++ b/test/unit/query_test.rb
@@ -2162,4 +2162,19 @@ class QueryTest < ActiveSupport::TestCase
assert_equal ['1','2','3','4','5','6'], query.available_filters['status_id'][:values].map(&:second)
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