@@ -27,9 +27,7 class QueriesController < ApplicationController | |||
|
27 | 27 | @query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin? |
|
28 | 28 | @query.column_names = nil if params[:default_columns] |
|
29 | 29 | |
|
30 | params[:fields].each do |field| | |
|
31 | @query.add_filter(field, params[:operators][field], params[:values][field]) | |
|
32 | end if params[:fields] | |
|
30 | @query.add_filters(params[:fields], params[:operators], params[:values]) if params[:fields] | |
|
33 | 31 | @query.group_by ||= params[:group_by] |
|
34 | 32 | |
|
35 | 33 | if request.post? && params[:confirm] && @query.save |
@@ -43,9 +41,7 class QueriesController < ApplicationController | |||
|
43 | 41 | def edit |
|
44 | 42 | if request.post? |
|
45 | 43 | @query.filters = {} |
|
46 | params[:fields].each do |field| | |
|
47 | @query.add_filter(field, params[:operators][field], params[:values][field]) | |
|
48 | end if params[:fields] | |
|
44 | @query.add_filters(params[:fields], params[:operators], params[:values]) if params[:fields] | |
|
49 | 45 | @query.attributes = params[:query] |
|
50 | 46 | @query.project = nil if params[:query_is_for_all] |
|
51 | 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 | 243 | parms = expression.scan(/^(o|c|!\*|!|\*)?(.*)$/).first |
|
244 | 244 | add_filter field, (parms[0] || "="), [parms[1] || ""] |
|
245 | 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 | 254 | def has_filter?(field) |
|
248 | 255 | filters and filters[field] |
General Comments 0
You need to be logged in to leave comments.
Login now