From 12d05431c20eab7ab18080f27753ca8b8e7753aa Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 19 Nov 2011 11:25:36 +0000 Subject: [PATCH] Adds a way to filter issues with or without start date (#9607). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7841 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/query.rb | 4 ++-- test/unit/query_test.rb | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/models/query.rb b/app/models/query.rb index 9eac4b81c..c25b75f2c 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -120,8 +120,8 @@ class Query < ActiveRecord::Base :list_status => [ "o", "=", "!", "c", "*" ], :list_optional => [ "=", "!", "!*", "*" ], :list_subprojects => [ "*", "!*", "=" ], - :date => [ "=", ">=", "<=", "><", "t+", "t+", "t", "w", ">t-", " [ "=", ">=", "<=", "><", ">t-", " [ "=", ">=", "<=", "><", "t+", "t+", "t", "w", ">t-", " [ "=", ">=", "<=", "><", ">t-", " [ "=", "~", "!", "!~" ], :text => [ "~", "!~" ], :integer => [ "=", ">=", "<=", "><", "!*", "*" ], diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index e364fdde3..11e6151b3 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -97,6 +97,14 @@ class QueryTest < ActiveSupport::TestCase assert issues.all? {|i| !i.estimated_hours} end + def test_operator_none_for_date + query = Query.new(:project => Project.find(1), :name => '_') + query.add_filter('start_date', '!*', ['']) + issues = find_issues_with_query(query) + assert !issues.empty? + assert issues.all? {|i| i.start_date.nil?} + end + def test_operator_all query = Query.new(:project => Project.find(1), :name => '_') query.add_filter('fixed_version_id', '*', ['']) @@ -106,6 +114,14 @@ class QueryTest < ActiveSupport::TestCase find_issues_with_query(query) end + def test_operator_all_for_date + query = Query.new(:project => Project.find(1), :name => '_') + query.add_filter('start_date', '*', ['']) + issues = find_issues_with_query(query) + assert !issues.empty? + assert issues.all? {|i| i.start_date.present?} + end + def test_numeric_filter_should_not_accept_non_numeric_values query = Query.new(:name => '_') query.add_filter('estimated_hours', '=', ['a']) -- 2.39.5