From: Jean-Philippe Lang Date: Sat, 19 Oct 2019 08:30:15 +0000 (+0000) Subject: Fixed that total estimated time column is shown even when estimated time field is... X-Git-Tag: 4.1.0~352 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c5b5f0d6a9ab7e710da53a5043cc262e92928c51;p=redmine.git Fixed that total estimated time column is shown even when estimated time field is deactivated (#31779). Patch by Felix Schäfer and Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@18743 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb index 348845a43..b134cec21 100644 --- a/app/models/issue_query.rb +++ b/app/models/issue_query.rb @@ -247,6 +247,7 @@ class IssueQuery < Query end disabled_fields = Tracker.disabled_core_fields(trackers).map {|field| field.sub(/_id$/, '')} + disabled_fields << "total_estimated_hours" if disabled_fields.include?("estimated_hours") @available_columns.reject! {|column| disabled_fields.include?(column.name.to_s) } diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index 7888a4993..db0d4c884 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -2085,6 +2085,25 @@ class QueryTest < ActiveSupport::TestCase end end + def test_available_columns_should_not_include_total_estimated_hours_when_trackers_disabled_estimated_hours + Tracker.visible.each do |tracker| + tracker.core_fields = tracker.core_fields.reject{|field| field == 'estimated_hours'} + tracker.save! + end + query = IssueQuery.new + available_columns = query.available_columns.map(&:name) + assert_not_include :estimated_hours, available_columns + assert_not_include :total_estimated_hours, available_columns + + tracker = Tracker.visible.first + tracker.core_fields = ['estimated_hours'] + tracker.save! + query = IssueQuery.new + available_columns = query.available_columns.map(&:name) + assert_include :estimated_hours, available_columns + assert_include :total_estimated_hours, available_columns + end + def setup_member_of_group Group.destroy_all # No fixtures @user_in_group = User.generate!