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
|
||||
def grouped?
|
||||
!group_by.blank?
|
||||
!group_by_column.nil?
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
def group_by_statement
|
||||
group_by_column.groupable
|
||||
group_by_column.try(:groupable)
|
||||
end
|
||||
|
||||
def project_statement
|
||||
|
|
|
@ -235,6 +235,22 @@ class QueryTest < ActiveSupport::TestCase
|
|||
q = Query.new
|
||||
assert q.groupable_columns.detect {|c| c.is_a? QueryCustomFieldColumn}
|
||||
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
|
||||
q = Query.new
|
||||
|
|
Loading…
Reference in New Issue