##// END OF EJS Templates
Refactor: Move method to Query model...
Eric Davis -
r3570:bf33b57aa403
parent child
Show More
@@ -27,9 +27,7 class QueriesController < ApplicationController
27 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
27 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
28 @query.column_names = nil if params[:default_columns]
28 @query.column_names = nil if params[:default_columns]
29
29
30 params[:fields].each do |field|
30 @query.add_filters(params[:fields], params[:operators], params[:values]) if params[:fields]
31 @query.add_filter(field, params[:operators][field], params[:values][field])
32 end if params[:fields]
33 @query.group_by ||= params[:group_by]
31 @query.group_by ||= params[:group_by]
34
32
35 if request.post? && params[:confirm] && @query.save
33 if request.post? && params[:confirm] && @query.save
@@ -43,9 +41,7 class QueriesController < ApplicationController
43 def edit
41 def edit
44 if request.post?
42 if request.post?
45 @query.filters = {}
43 @query.filters = {}
46 params[:fields].each do |field|
44 @query.add_filters(params[:fields], params[:operators], params[:values]) if params[:fields]
47 @query.add_filter(field, params[:operators][field], params[:values][field])
48 end if params[:fields]
49 @query.attributes = params[:query]
45 @query.attributes = params[:query]
50 @query.project = nil if params[:query_is_for_all]
46 @query.project = nil if params[:query_is_for_all]
51 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
47 @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
@@ -243,6 +243,13 class Query < ActiveRecord::Base
243 parms = expression.scan(/^(o|c|!\*|!|\*)?(.*)$/).first
243 parms = expression.scan(/^(o|c|!\*|!|\*)?(.*)$/).first
244 add_filter field, (parms[0] || "="), [parms[1] || ""]
244 add_filter field, (parms[0] || "="), [parms[1] || ""]
245 end
245 end
246
247 # Add multiple filters using +add_filter+
248 def add_filters(fields, operators, values)
249 fields.each do |field|
250 add_filter(field, operators[field], values[field])
251 end
252 end
246
253
247 def has_filter?(field)
254 def has_filter?(field)
248 filters and filters[field]
255 filters and filters[field]
General Comments 0
You need to be logged in to leave comments. Login now