<tr class="group open">
<td colspan="<%= query.inline_columns.size + 2 %>">
<span class="expander" onclick="toggleRowGroup(this);"> </span>
- <%= group.blank? ? l(:label_none) : column_content(@query.group_by_column, issue) %> <span class="count"><%= @issue_count_by_group[group] %></span>
+ <%= (group.blank? && group != false) ? l(:label_none) : column_content(@query.group_by_column, issue) %> <span class="count"><%= @issue_count_by_group[group] %></span>
<%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}",
"toggleAllRowGroups(this)", :class => 'toggle-all') %>
</td>
end
end
+ def test_index_grouped_by_boolean_custom_field_should_distinguish_blank_and_false_values
+ cf = IssueCustomField.create!(:name => 'Bool', :is_for_all => true, :tracker_ids => [1,2,3], :field_format => 'bool')
+ CustomValue.create!(:custom_field => cf, :customized => Issue.find(1), :value => '1')
+ CustomValue.create!(:custom_field => cf, :customized => Issue.find(2), :value => '0')
+ CustomValue.create!(:custom_field => cf, :customized => Issue.find(3), :value => '')
+
+ with_settings :default_language => 'en' do
+ get :index, :project_id => 1, :set_filter => 1, :group_by => "cf_#{cf.id}"
+ assert_response :success
+ end
+
+ assert_select 'tr.group', :text => /Yes/
+ assert_select 'tr.group', :text => /No/
+ assert_select 'tr.group', :text => /none/
+ end
+
def test_index_with_query_grouped_by_tracker_in_normal_order
3.times {|i| Issue.generate!(:tracker_id => (i + 1))}