]> source.dussan.org Git - redmine.git/commitdiff
Moved build_query_from_params helper to Query#build_from_params.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 9 Dec 2012 15:11:00 +0000 (15:11 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 9 Dec 2012 15:11:00 +0000 (15:11 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10966 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/queries_controller.rb
app/helpers/queries_helper.rb
app/models/query.rb

index 1ecb62b6826b24dcdb488213b37a8537c25eb17a..16bc9f96327f56c9564be97505407f49034d9a59 100644 (file)
@@ -47,7 +47,7 @@ class QueriesController < ApplicationController
     @query.user = User.current
     @query.project = @project
     @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
-    build_query_from_params
+    @query.build_from_params(params)
   end
 
   def create
@@ -55,7 +55,7 @@ class QueriesController < ApplicationController
     @query.user = User.current
     @query.project = params[:query_is_for_all] ? nil : @project
     @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
-    build_query_from_params
+    @query.build_from_params(params)
     @query.column_names = nil if params[:default_columns]
 
     if @query.save
@@ -73,7 +73,7 @@ class QueriesController < ApplicationController
     @query.attributes = params[:query]
     @query.project = nil if params[:query_is_for_all]
     @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
-    build_query_from_params
+    @query.build_from_params(params)
     @query.column_names = nil if params[:default_columns]
 
     if @query.save
index 13f65fb6141c5dc3adea83a62705065f93092ef3..9b0943aa7cac54c214510d52247007055f741346 100644 (file)
@@ -131,7 +131,7 @@ module QueriesHelper
       # Give it a name, required to be valid
       @query = IssueQuery.new(:name => "_")
       @query.project = @project
-      build_query_from_params
+      @query.build_from_params(params)
       session[:query] = {:project_id => @query.project_id, :filters => @query.filters, :group_by => @query.group_by, :column_names => @query.column_names}
     else
       # retrieve from session
@@ -157,17 +157,4 @@ module QueriesHelper
       @query
     end
   end
-
-  def build_query_from_params
-    if params[:fields] || params[:f]
-      @query.filters = {}
-      @query.add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v])
-    else
-      @query.available_filters.keys.each do |field|
-        @query.add_short_filter(field, params[field]) if params[field]
-      end
-    end
-    @query.group_by = params[:group_by] || (params[:query] && params[:query][:group_by])
-    @query.column_names = params[:c] || (params[:query] && params[:query][:column_names])
-  end
 end
index c91cae8b1979edb87ef276e7591b03b12105233c..81eeb9f3be48a6800edba6129e1dbab424dab328 100644 (file)
@@ -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)