Browse Source

Searching for issues with "updated = none" always returns zero results (#15226).

Patch by Marius BALTEANU.

git-svn-id: http://svn.redmine.org/redmine/trunk@16226 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/3.4.0
Jean-Philippe Lang 7 years ago
parent
commit
e8d7b36f1b
2 changed files with 26 additions and 0 deletions
  1. 11
    0
      app/models/issue_query.rb
  2. 15
    0
      test/unit/query_test.rb

+ 11
- 0
app/models/issue_query.rb View File

@@ -449,6 +449,17 @@ class IssueQuery < Query
end
end

def sql_for_updated_on_field(field, operator, value)
case operator
when "!*"
"#{Issue.table_name}.updated_on = #{Issue.table_name}.created_on"
when "*"
"#{Issue.table_name}.updated_on > #{Issue.table_name}.created_on"
else
sql_for_field("updated_on", operator, value, Issue.table_name, "updated_on")
end
end

def sql_for_issue_id_field(field, operator, value)
if operator == "="
# accepts a comma separated list of ids

+ 15
- 0
test/unit/query_test.rb View File

@@ -1900,4 +1900,19 @@ class QueryTest < ActiveSupport::TestCase
assert_equal [1, 2, 3, 6, 7, 8, 9, 10, 11, 12], issues.map(&:id).sort
end

def test_filter_updated_on_none_should_return_issues_with_updated_on_equal_with_created_on
query = IssueQuery.new(:name => '_', :project => Project.find(1))

query.filters = {'updated_on' => {:operator => '!*', :values => ['']}}
issues = find_issues_with_query(query)
assert_equal [3, 6, 7, 8, 9, 10, 14], issues.map(&:id).sort
end

def test_filter_updated_on_any_should_return_issues_with_updated_on_greater_than_created_on
query = IssueQuery.new(:name => '_', :project => Project.find(1))

query.filters = {'updated_on' => {:operator => '*', :values => ['']}}
issues = find_issues_with_query(query)
assert_equal [1, 2, 5, 11, 12, 13], issues.map(&:id).sort
end
end

Loading…
Cancel
Save