summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2017-12-19 10:15:22 +0000
committerGo MAEDA <maeda@farend.jp>2017-12-19 10:15:22 +0000
commitf33ddf97492e771b5df12f0368e38c8cda7e8586 (patch)
tree717d3f9dbac4b31cea772a7ccc362c00a64309bc
parent53e419d5bbd059913a53695fa208b8e68ab7f394 (diff)
downloadredmine-f33ddf97492e771b5df12f0368e38c8cda7e8586.tar.gz
redmine-f33ddf97492e771b5df12f0368e38c8cda7e8586.zip
Issues reports should show only statuses used by the project (#27772).
Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@17121 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/reports_controller.rb2
-rw-r--r--test/functional/reports_controller_test.rb26
2 files changed, 27 insertions, 1 deletions
diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb
index 08c30efe8..6f75b5652 100644
--- a/app/controllers/reports_controller.rb
+++ b/app/controllers/reports_controller.rb
@@ -84,6 +84,6 @@ class ReportsController < ApplicationController
private
def find_issue_statuses
- @statuses = IssueStatus.sorted.to_a
+ @statuses = @project.rolled_up_statuses.sorted.to_a
end
end
diff --git a/test/functional/reports_controller_test.rb b/test/functional/reports_controller_test.rb
index a08e512d8..63a882a8d 100644
--- a/test/functional/reports_controller_test.rb
+++ b/test/functional/reports_controller_test.rb
@@ -44,6 +44,32 @@ class ReportsControllerTest < Redmine::ControllerTest
end
end
+ def test_get_issue_report_details_by_tracker_should_show_only_statuses_used_by_the_project
+ WorkflowTransition.delete_all
+ WorkflowTransition.create(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 5)
+ WorkflowTransition.create(:role_id => 1, :tracker_id => 1, :old_status_id => 1, :new_status_id => 4)
+ WorkflowTransition.create(:role_id => 1, :tracker_id => 1, :old_status_id => 2, :new_status_id => 5)
+ WorkflowTransition.create(:role_id => 1, :tracker_id => 2, :old_status_id => 1, :new_status_id => 6)
+
+ get :issue_report_details, :params => {
+ :id => 1,
+ :detail => 'tracker'
+ }
+
+ assert_response :success
+ assert_select 'table.list tbody :nth-child(1)' do
+ assert_select 'td', :text => 'Bug'
+ assert_select ':nth-child(2)', :text => '3' # status:1
+ assert_select ':nth-child(3)', :text => '-' # status:2
+ assert_select ':nth-child(4)', :text => '-' # status:4
+ assert_select ':nth-child(5)', :text => '3' # status:5
+ assert_select ':nth-child(6)', :text => '-' # status:6
+ assert_select ':nth-child(7)', :text => '3' # open
+ assert_select ':nth-child(8)', :text => '3' # closed
+ assert_select ':nth-child(9)', :text => '6' # total
+ end
+ end
+
def test_get_issue_report_details_by_tracker_should_show_issue_count
Issue.delete_all
Issue.generate!(:tracker_id => 1)