From 62d6dfe1ccc1841ef97d9ed23b45086de78dafd1 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 29 Nov 2017 19:38:44 +0000 Subject: [PATCH] Fixes visibility checks for version.fixed_issues in Gantt (#27676). Like the version page - the Gantt chart featured a "percent done" info for each version, which wasn't properly limited to visible issues. Patch by Gregor Schmidt. git-svn-id: http://svn.redmine.org/redmine/trunk@17053 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- 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 b859c6c7d..c0b1f3148 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 @@ -679,9 +679,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%/