Browse Source

Fixed that group is not displayed when the first group is a boolean custom field group with "No" value (#18896).

git-svn-id: http://svn.redmine.org/redmine/trunk@13922 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/3.0.0
Jean-Philippe Lang 9 years ago
parent
commit
4730ef894f
2 changed files with 19 additions and 3 deletions
  1. 3
    3
      app/views/issues/_list.html.erb
  2. 16
    0
      test/functional/issues_controller_test.rb

+ 3
- 3
app/views/issues/_list.html.erb View File

@@ -14,10 +14,10 @@
<% 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>

+ 16
- 0
test/functional/issues_controller_test.rb View 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))}


Loading…
Cancel
Save