summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-12-09 15:11:00 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-12-09 15:11:00 +0000
commit10998c9bae314057b5c2adf97418618f68efb3d7 (patch)
tree8775fd8b26e49d6da20255a9ef080fc2c1c730a9 /app/models
parenteb1829e739bd50bd036c46415c014ff70e1de824 (diff)
downloadredmine-10998c9bae314057b5c2adf97418618f68efb3d7.tar.gz
redmine-10998c9bae314057b5c2adf97418618f68efb3d7.zip
Moved build_query_from_params helper to Query#build_from_params.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10966 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/query.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index c91cae8b1..81eeb9f3b 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -158,6 +158,21 @@ class Query < ActiveRecord::Base
@is_for_all = project.nil?
end
+ # Builds the query from the given params
+ def build_from_params(params)
+ if params[:fields] || params[:f]
+ self.filters = {}
+ add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v])
+ else
+ available_filters.keys.each do |field|
+ add_short_filter(field, params[field]) if params[field]
+ end
+ end
+ self.group_by = params[:group_by] || (params[:query] && params[:query][:group_by])
+ self.column_names = params[:c] || (params[:query] && params[:query][:column_names])
+ self
+ end
+
def validate_query_filters
filters.each_key do |field|
if values_for(field)