Skip to content
This repository has been archived by the owner on Jan 14, 2020. It is now read-only.

Commit

Permalink
Issues by Category should show tasks without category (#8106).
Browse files Browse the repository at this point in the history
git-svn-id: svn://rubyforge.org/var/svn/redmine/trunk@10771 e93f8b46-1217-0410-a6f0-8f06a7374b81
  • Loading branch information
jplang committed Oct 30, 2012
1 parent e7b97fc commit f4d9cfe
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 8 deletions.
3 changes: 2 additions & 1 deletion app/helpers/versions_helper.rb
Expand Up @@ -44,7 +44,8 @@ def render_issue_status_by(version, criteria)
rescue ActiveRecord::RecordNotFound
# When grouping by an association, Rails throws this exception if there's no result (bug)
end
counts = h.keys.compact.sort.collect {|k| {:group => k, :total => h[k][0], :open => h[k][1], :closed => (h[k][0] - h[k][1])}}
# Sort with nil keys in last position
counts = h.keys.sort {|a,b| a.nil? ? 1 : (b.nil? ? -1 : a <=> b)}.collect {|k| {:group => k, :total => h[k][0], :open => h[k][1], :closed => (h[k][0] - h[k][1])}}
max = counts.collect {|c| c[:total]}.max

render :partial => 'issue_counts', :locals => {:version => version, :criteria => criteria, :counts => counts, :max => max}
Expand Down
11 changes: 5 additions & 6 deletions app/views/versions/_issue_counts.html.erb
Expand Up @@ -14,12 +14,11 @@
<% counts.each do |count| %>
<tr>
<td width="130px" align="right" >
<%= link_to h(count[:group]), {:controller => 'issues',
:action => 'index',
:project_id => version.project,
:set_filter => 1,
:status_id => '*',
:fixed_version_id => version}.merge("#{criteria}_id".to_sym => count[:group]) %>
<% if count[:group] -%>
<%= link_to(h(count[:group]), project_issues_path(version.project, :set_filter => 1, :status_id => '*', :fixed_version_id => version, "#{criteria}_id" => count[:group])) %>
<% else -%>
<%= link_to(l(:label_none), project_issues_path(version.project, :set_filter => 1, :status_id => '*', :fixed_version_id => version, "#{criteria}_id" => "!*")) %>
<% end %>
</td>
<td width="240px">
<%= progress_bar((count[:closed].to_f / count[:total])*100,
Expand Down
15 changes: 14 additions & 1 deletion test/functional/versions_controller_test.rb
Expand Up @@ -22,7 +22,7 @@
class VersionsController; def rescue_action(e) raise e end; end

class VersionsControllerTest < ActionController::TestCase
fixtures :projects, :versions, :issues, :users, :roles, :members, :member_roles, :enabled_modules, :issue_statuses
fixtures :projects, :versions, :issues, :users, :roles, :members, :member_roles, :enabled_modules, :issue_statuses, :issue_categories

def setup
@controller = VersionsController.new
Expand Down Expand Up @@ -103,6 +103,19 @@ def test_show
assert_tag :tag => 'h2', :content => /1.0/
end

def test_show_should_display_nil_counts
with_settings :default_language => 'en' do
get :show, :id => 2, :status_by => 'category'
assert_response :success
assert_select 'div#status_by' do
assert_select 'select[name=status_by]' do
assert_select 'option[value=category][selected=selected]'
end
assert_select 'a', :text => 'none'
end
end
end

def test_new
@request.session[:user_id] = 2
get :new, :project_id => '1'
Expand Down

0 comments on commit f4d9cfe

Please sign in to comment.