]> source.dussan.org Git - redmine.git/commitdiff
Fixed that group is not displayed when the first group is a boolean custom field...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 19 Jan 2015 21:36:59 +0000 (21:36 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 19 Jan 2015 21:36:59 +0000 (21:36 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@13922 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/issues/_list.html.erb
test/functional/issues_controller_test.rb

index 48b5860a70e5e045f9d0b4f38feea5f48466ae20..02486678229d130d586c4b7fb404a12e4cf74f87 100644 (file)
       <% end %>
     </tr>
   </thead>
-  <% previous_group = false %>
+  <% previous_group, first = false, true %>
   <tbody>
   <% issue_list(issues) do |issue, level| -%>
-  <% if @query.grouped? && (group = @query.group_by_column.value(issue)) != previous_group %>
+  <% if @query.grouped? && ((group = @query.group_by_column.value(issue)) != previous_group || first) %>
     <% reset_cycle %>
     <tr class="group open">
       <td colspan="<%= query.inline_columns.size + 2 %>">
@@ -27,7 +27,7 @@
                              "toggleAllRowGroups(this)", :class => 'toggle-all') %>
       </td>
     </tr>
-    <% previous_group = group %>
+    <% previous_group, first = group, false %>
   <% end %>
   <tr id="issue-<%= issue.id %>" class="hascontextmenu <%= cycle('odd', 'even') %> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
     <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
index d32c0ff494a0d18ad82d3f8e6f5da26fdd470f20..7b7e7cbd4d7f72bf10032c59abbab4f6adb6690a 100644 (file)
@@ -305,11 +305,27 @@ class IssuesControllerTest < ActionController::TestCase
       assert_response :success
     end
 
+    assert_select 'tr.group', 3
     assert_select 'tr.group', :text => /Yes/
     assert_select 'tr.group', :text => /No/
     assert_select 'tr.group', :text => /none/
   end
 
+  def test_index_grouped_by_boolean_custom_field_with_false_group_in_first_position_should_show_the_group
+    cf = IssueCustomField.create!(:name => 'Bool', :is_for_all => true, :tracker_ids => [1,2,3], :field_format => 'bool', :is_filter => true)
+    CustomValue.create!(:custom_field => cf, :customized => Issue.find(1), :value => '0')
+    CustomValue.create!(:custom_field => cf, :customized => Issue.find(2), :value => '0')
+
+    with_settings :default_language => 'en' do
+      get :index, :project_id => 1, :set_filter => 1, "cf_#{cf.id}" => "*", :group_by => "cf_#{cf.id}"
+      assert_response :success
+      assert_equal [1, 2], assigns(:issues).map(&:id).sort
+    end
+
+    assert_select 'tr.group', 1
+    assert_select 'tr.group', :text => /No/
+  end
+
   def test_index_with_query_grouped_by_tracker_in_normal_order
     3.times {|i| Issue.generate!(:tracker_id => (i + 1))}