Fixed: 500 error on issue query grouped by a custom field that was deleted (#7144).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4553 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
3d76a67a2e
commit
703b0ec422
|
@ -378,15 +378,15 @@ class Query < ActiveRecord::Base
|
||||||
|
|
||||||
# Returns true if the query is a grouped query
|
# Returns true if the query is a grouped query
|
||||||
def grouped?
|
def grouped?
|
||||||
!group_by.blank?
|
!group_by_column.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
def group_by_column
|
def group_by_column
|
||||||
groupable_columns.detect {|c| c.name.to_s == group_by}
|
groupable_columns.detect {|c| c.groupable && c.name.to_s == group_by}
|
||||||
end
|
end
|
||||||
|
|
||||||
def group_by_statement
|
def group_by_statement
|
||||||
group_by_column.groupable
|
group_by_column.try(:groupable)
|
||||||
end
|
end
|
||||||
|
|
||||||
def project_statement
|
def project_statement
|
||||||
|
|
|
@ -235,6 +235,22 @@ class QueryTest < ActiveSupport::TestCase
|
||||||
q = Query.new
|
q = Query.new
|
||||||
assert q.groupable_columns.detect {|c| c.is_a? QueryCustomFieldColumn}
|
assert q.groupable_columns.detect {|c| c.is_a? QueryCustomFieldColumn}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_grouped_with_valid_column
|
||||||
|
q = Query.new(:group_by => 'status')
|
||||||
|
assert q.grouped?
|
||||||
|
assert_not_nil q.group_by_column
|
||||||
|
assert_equal :status, q.group_by_column.name
|
||||||
|
assert_not_nil q.group_by_statement
|
||||||
|
assert_equal 'status', q.group_by_statement
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_grouped_with_invalid_column
|
||||||
|
q = Query.new(:group_by => 'foo')
|
||||||
|
assert !q.grouped?
|
||||||
|
assert_nil q.group_by_column
|
||||||
|
assert_nil q.group_by_statement
|
||||||
|
end
|
||||||
|
|
||||||
def test_default_sort
|
def test_default_sort
|
||||||
q = Query.new
|
q = Query.new
|
||||||
|
|
Loading…
Reference in New Issue