@@ -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