@@ -333,10 +333,6 class Query < ActiveRecord::Base | |||||
333 | available_filters[field][:type] if available_filters.has_key?(field) |
|
333 | available_filters[field][:type] if available_filters.has_key?(field) | |
334 | end |
|
334 | end | |
335 |
|
335 | |||
336 | def allowed_values_for(field) |
|
|||
337 | available_filters[field][:values] if available_filters.has_key?(field) |
|
|||
338 | end |
|
|||
339 |
|
||||
340 | def operator_for(field) |
|
336 | def operator_for(field) | |
341 | has_filter?(field) ? filters[field][:operator] : nil |
|
337 | has_filter?(field) ? filters[field][:operator] : nil | |
342 | end |
|
338 | end | |
@@ -653,7 +649,6 class Query < ActiveRecord::Base | |||||
653 | sql = '' |
|
649 | sql = '' | |
654 | case operator |
|
650 | case operator | |
655 | when "=" |
|
651 | when "=" | |
656 | value &= allowed_values_for(field).collect {|val| val[1]} if value.present? && allowed_values_for(field).present? |
|
|||
657 | if value.any? |
|
652 | if value.any? | |
658 | case type_for(field) |
|
653 | case type_for(field) | |
659 | when :date, :date_past |
|
654 | when :date, :date_past | |
@@ -670,7 +665,6 class Query < ActiveRecord::Base | |||||
670 | sql = "1=0" |
|
665 | sql = "1=0" | |
671 | end |
|
666 | end | |
672 | when "!" |
|
667 | when "!" | |
673 | value &= allowed_values_for(field).collect {|val| val[1]} if value.present? && allowed_values_for(field).present? |
|
|||
674 | if value.any? |
|
668 | if value.any? | |
675 | sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))" |
|
669 | sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))" | |
676 | else |
|
670 | else |
@@ -162,9 +162,7 class IssuesControllerTest < ActionController::TestCase | |||||
162 | '!~This is part of a subject' => { :op => '!~', :values => ['This is part of a subject'] }}, |
|
162 | '!~This is part of a subject' => { :op => '!~', :values => ['This is part of a subject'] }}, | |
163 | 'tracker_id' => { |
|
163 | 'tracker_id' => { | |
164 | '3' => { :op => '=', :values => ['3'] }, |
|
164 | '3' => { :op => '=', :values => ['3'] }, | |
165 | '=3' => { :op => '=', :values => ['3'] }, |
|
165 | '=3' => { :op => '=', :values => ['3'] }}, | |
166 | '*' => { :op => '=', :values => ['*'] }, |
|
|||
167 | '!*' => { :op => '!', :values => ['*'] }}, |
|
|||
168 | 'start_date' => { |
|
166 | 'start_date' => { | |
169 | '2011-10-12' => { :op => '=', :values => ['2011-10-12'] }, |
|
167 | '2011-10-12' => { :op => '=', :values => ['2011-10-12'] }, | |
170 | '=2011-10-12' => { :op => '=', :values => ['2011-10-12'] }, |
|
168 | '=2011-10-12' => { :op => '=', :values => ['2011-10-12'] }, |
General Comments 0
You need to be logged in to leave comments.
Login now