Defect #33281 » 33281.patch
app/models/query.rb | ||
---|---|---|
755 | 755 |
end |
756 | 756 | |
757 | 757 |
def available_totalable_columns |
758 |
available_columns.select(&:totalable) |
|
758 |
available_columns.select(&:totalable).sort do |a, b| |
|
759 |
if a.is_a?(QueryCustomFieldColumn) && b.is_a?(QueryCustomFieldColumn) |
|
760 |
a.custom_field <=> b.custom_field |
|
761 |
else |
|
762 |
0 |
|
763 |
end |
|
764 |
end |
|
759 | 765 |
end |
760 | 766 | |
761 | 767 |
def default_columns_names |
test/unit/query_test.rb | ||
---|---|---|
1802 | 1802 |
assert_include "cf_#{field.id}".to_sym, q.available_totalable_columns.map(&:name) |
1803 | 1803 |
end |
1804 | 1804 | |
1805 |
def test_available_totalable_columns_should_sort_in_position_order_for_custom_field |
|
1806 |
IssueCustomField.delete_all |
|
1807 |
cf_pos3 = IssueCustomField.generate!(:position => 3, :is_for_all => true, :field_format => 'int') |
|
1808 |
cf_pos4 = IssueCustomField.generate!(:position => 4, :is_for_all => true, :field_format => 'float') |
|
1809 |
cf_pos1 = IssueCustomField.generate!(:position => 1, :is_for_all => true, :field_format => 'float') |
|
1810 |
cf_pos2 = IssueCustomField.generate!(:position => 2, :is_for_all => true, :field_format => 'int') |
|
1811 |
q = IssueQuery.new |
|
1812 |
custom_field_columns = q.available_totalable_columns.select{|column| column.is_a?(QueryCustomFieldColumn)} |
|
1813 |
assert_equal [cf_pos1, cf_pos2, cf_pos3, cf_pos4], custom_field_columns.collect(&:custom_field) |
|
1814 |
end |
|
1815 | ||
1805 | 1816 |
def test_total_for_estimated_hours |
1806 | 1817 |
Issue.delete_all |
1807 | 1818 |
Issue.generate!(:estimated_hours => 5.5) |