From 92c889330a7c9cbfed50c7617b50a8f4335236bb Mon Sep 17 00:00:00 2001 From: Gregor Schmidt Date: Mon, 20 Nov 2017 15:03:30 +0100 Subject: [PATCH 4/4] Fixes visibility checks for version.fixed_issues in Gantt Like the version page - the Gantt chart featured a "percent done" info for each version, which wasn't properly limited to visible issues. --- lib/redmine/helpers/gantt.rb | 8 ++++---- test/unit/lib/redmine/helpers/gantt_test.rb | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/redmine/helpers/gantt.rb b/lib/redmine/helpers/gantt.rb index 4ff2ec944..2bed1c045 100644 --- a/lib/redmine/helpers/gantt.rb +++ b/lib/redmine/helpers/gantt.rb @@ -301,9 +301,9 @@ module Redmine def line_for_version(version, options) # Skip versions that don't have a start_date if version.is_a?(Version) && version.due_date && version.start_date - label = "#{h(version)} #{h(version.completed_percent.to_f.round)}%" + label = "#{h(version)} #{h(version.visible_fixed_issues.completed_percent.to_f.round)}%" label = h("#{version.project} -") + label unless @project && @project == version.project - line(version.start_date, version.due_date, version.completed_percent, true, label, options, version) + line(version.start_date, version.due_date, version.visible_fixed_issues.completed_percent, true, label, options, version) end end @@ -678,9 +678,9 @@ module Redmine html_class << (version.behind_schedule? ? 'version-behind-schedule' : '') << " " html_class << (version.overdue? ? 'version-overdue' : '') html_class << ' version-closed' unless version.open? - if version.start_date && version.due_date && version.completed_percent + if version.start_date && version.due_date && version.visible_fixed_issues.completed_percent progress_date = calc_progress_date(version.start_date, - version.due_date, version.completed_percent) + version.due_date, version.visible_fixed_issues.completed_percent) html_class << ' behind-start-date' if progress_date < self.date_from html_class << ' over-end-date' if progress_date > self.date_to end diff --git a/test/unit/lib/redmine/helpers/gantt_test.rb b/test/unit/lib/redmine/helpers/gantt_test.rb index d7dc956ce..1dd825d2c 100644 --- a/test/unit/lib/redmine/helpers/gantt_test.rb +++ b/test/unit/lib/redmine/helpers/gantt_test.rb @@ -314,7 +314,7 @@ class Redmine::Helpers::GanttHelperTest < Redmine::HelperTest version = Version.generate!(:name => 'Foo', :project => @project) version.stubs(:start_date).returns(today - 7) version.stubs(:due_date).returns(today + 7) - version.stubs(:completed_percent).returns(30) + version.stubs(:visible_fixed_issues => stub(:completed_percent => 30)) @output_buffer = @gantt.line_for_version(version, :format => :html) assert_select "div.version.label", :text => /Foo/ assert_select "div.version.label", :text => /30%/ -- 2.14.1