##// END OF EJS Templates
Merged r12058 from trunk (#14401)....
Jean-Philippe Lang -
r11832:5eeca35317de
parent child
Show More
@@ -393,10 +393,9 class IssueQuery < Query
393 393
394 394 if relation_options[:sym] == field && !options[:reverse]
395 395 sqls = [sql, sql_for_relations(field, operator, value, :reverse => true)]
396 sqls.join(["!", "!*", "!p"].include?(operator) ? " AND " : " OR ")
397 else
398 sql
396 sql = sqls.join(["!", "!*", "!p"].include?(operator) ? " AND " : " OR ")
399 397 end
398 "(#{sql})"
400 399 end
401 400
402 401 IssueRelation::TYPES.keys.each do |relation_type|
@@ -746,6 +746,21 class QueryTest < ActiveSupport::TestCase
746 746 assert_equal [1, 2, 3], find_issues_with_query(query).map(&:id).sort
747 747 end
748 748
749 def test_filter_on_relations_should_not_ignore_other_filter
750 issue = Issue.generate!
751 issue1 = Issue.generate!(:status_id => 1)
752 issue2 = Issue.generate!(:status_id => 2)
753 IssueRelation.create!(:relation_type => "relates", :issue_from => issue, :issue_to => issue1)
754 IssueRelation.create!(:relation_type => "relates", :issue_from => issue, :issue_to => issue2)
755
756 query = IssueQuery.new(:name => '_')
757 query.filters = {
758 "status_id" => {:operator => '=', :values => ['1']},
759 "relates" => {:operator => '=', :values => [issue.id.to_s]}
760 }
761 assert_equal [issue1], find_issues_with_query(query)
762 end
763
749 764 def test_statement_should_be_nil_with_no_filters
750 765 q = IssueQuery.new(:name => '_')
751 766 q.filters = {}
General Comments 0
You need to be logged in to leave comments. Login now