diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-12-09 15:11:00 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-12-09 15:11:00 +0000 |
commit | 10998c9bae314057b5c2adf97418618f68efb3d7 (patch) | |
tree | 8775fd8b26e49d6da20255a9ef080fc2c1c730a9 /app/models | |
parent | eb1829e739bd50bd036c46415c014ff70e1de824 (diff) | |
download | redmine-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.rb | 15 |
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) |