diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index f974914..bfe3ae7 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -32,6 +32,24 @@ module IssuesHelper end end + def grouped_issue_list(issues, query, issue_count_by_group, &block) + previous_group, first = false, true + issue_list(issues) do |issue, level| + group_name = group_count = nil + if query.grouped? && ((group = query.group_by_column.value(issue)) != previous_group || first) + if group.blank? && group != false + group_name = l(:label_none) + else + group_name = column_content(query.group_by_column, issue) + end + group_name ||= "" + group_count = issue_count_by_group[group] + end + yield issue, level, group_name, group_count + previous_group, first = group, false + end + end + # Renders a HTML/CSS tooltip # # To use, a trigger div is needed. This is a div with the class of "tooltip" diff --git a/app/views/issues/_list.html.erb b/app/views/issues/_list.html.erb index 0248667..c6c7613 100644 --- a/app/views/issues/_list.html.erb +++ b/app/views/issues/_list.html.erb @@ -14,20 +14,18 @@ <% end %> - <% previous_group, first = false, true %> - <% issue_list(issues) do |issue, level| -%> - <% if @query.grouped? && ((group = @query.group_by_column.value(issue)) != previous_group || first) %> + <% grouped_issue_list(issues, @query, @issue_count_by_group) do |issue, level, group_name, group_count| -%> + <% if group_name %> <% reset_cycle %>   - <%= (group.blank? && group != false) ? l(:label_none) : column_content(@query.group_by_column, issue) %> <%= @issue_count_by_group[group] %> + <%= group_name %> <%= group_count %> <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}", "toggleAllRowGroups(this)", :class => 'toggle-all') %> - <% previous_group, first = group, false %> <% end %> "> <%= check_box_tag("ids[]", issue.id, false, :id => nil) %>