##// END OF EJS Templates
Moved build_query_from_params helper to Query#build_from_params....
Jean-Philippe Lang -
r10739:10998c9bae31
parent child
Show More
@@ -47,7 +47,7 class QueriesController < ApplicationController
47 @query.user = User.current
47 @query.user = User.current
48 @query.project = @project
48 @query.project = @project
49 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
49 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
50 build_query_from_params
50 @query.build_from_params(params)
51 end
51 end
52
52
53 def create
53 def create
@@ -55,7 +55,7 class QueriesController < ApplicationController
55 @query.user = User.current
55 @query.user = User.current
56 @query.project = params[:query_is_for_all] ? nil : @project
56 @query.project = params[:query_is_for_all] ? nil : @project
57 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
57 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
58 build_query_from_params
58 @query.build_from_params(params)
59 @query.column_names = nil if params[:default_columns]
59 @query.column_names = nil if params[:default_columns]
60
60
61 if @query.save
61 if @query.save
@@ -73,7 +73,7 class QueriesController < ApplicationController
73 @query.attributes = params[:query]
73 @query.attributes = params[:query]
74 @query.project = nil if params[:query_is_for_all]
74 @query.project = nil if params[:query_is_for_all]
75 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
75 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
76 build_query_from_params
76 @query.build_from_params(params)
77 @query.column_names = nil if params[:default_columns]
77 @query.column_names = nil if params[:default_columns]
78
78
79 if @query.save
79 if @query.save
@@ -131,7 +131,7 module QueriesHelper
131 # Give it a name, required to be valid
131 # Give it a name, required to be valid
132 @query = IssueQuery.new(:name => "_")
132 @query = IssueQuery.new(:name => "_")
133 @query.project = @project
133 @query.project = @project
134 build_query_from_params
134 @query.build_from_params(params)
135 session[:query] = {:project_id => @query.project_id, :filters => @query.filters, :group_by => @query.group_by, :column_names => @query.column_names}
135 session[:query] = {:project_id => @query.project_id, :filters => @query.filters, :group_by => @query.group_by, :column_names => @query.column_names}
136 else
136 else
137 # retrieve from session
137 # retrieve from session
@@ -157,17 +157,4 module QueriesHelper
157 @query
157 @query
158 end
158 end
159 end
159 end
160
161 def build_query_from_params
162 if params[:fields] || params[:f]
163 @query.filters = {}
164 @query.add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v])
165 else
166 @query.available_filters.keys.each do |field|
167 @query.add_short_filter(field, params[field]) if params[field]
168 end
169 end
170 @query.group_by = params[:group_by] || (params[:query] && params[:query][:group_by])
171 @query.column_names = params[:c] || (params[:query] && params[:query][:column_names])
172 end
173 end
160 end
@@ -158,6 +158,21 class Query < ActiveRecord::Base
158 @is_for_all = project.nil?
158 @is_for_all = project.nil?
159 end
159 end
160
160
161 # Builds the query from the given params
162 def build_from_params(params)
163 if params[:fields] || params[:f]
164 self.filters = {}
165 add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v])
166 else
167 available_filters.keys.each do |field|
168 add_short_filter(field, params[field]) if params[field]
169 end
170 end
171 self.group_by = params[:group_by] || (params[:query] && params[:query][:group_by])
172 self.column_names = params[:c] || (params[:query] && params[:query][:column_names])
173 self
174 end
175
161 def validate_query_filters
176 def validate_query_filters
162 filters.each_key do |field|
177 filters.each_key do |field|
163 if values_for(field)
178 if values_for(field)
General Comments 0
You need to be logged in to leave comments. Login now