]> source.dussan.org Git - redmine.git/commitdiff
Gantt bars with start date and end date on the same day don't become red by overdue...
authorGo MAEDA <maeda@farend.jp>
Mon, 9 Apr 2018 13:00:41 +0000 (13:00 +0000)
committerGo MAEDA <maeda@farend.jp>
Mon, 9 Apr 2018 13:00:41 +0000 (13:00 +0000)
Patch by Mizuki ISHIKAWA.

git-svn-id: http://svn.redmine.org/redmine/trunk@17294 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/helpers/gantt.rb
test/unit/lib/redmine/helpers/gantt_test.rb

index c0b1f314811cc5fa9adde43715805b7328cb1900..294303209e3c3d37e975593525462c1326740d25 100644 (file)
@@ -595,11 +595,11 @@ module Redmine
                 coords[:bar_progress_end] = self.date_to - self.date_from + 1
               end
             end
-            if progress_date < User.current.today
-              late_date = [User.current.today, end_date].min
+            if progress_date <= User.current.today
+              late_date = [User.current.today, end_date].min + 1
               if late_date > self.date_from && late_date > start_date
                 if late_date < self.date_to
-                  coords[:bar_late_end] = late_date - self.date_from + 1
+                  coords[:bar_late_end] = late_date - self.date_from
                 else
                   coords[:bar_late_end] = self.date_to - self.date_from + 1
                 end
index 1dd825d2c7c5c37dccf40e96fb91666d1e8c3c86..351f9c03764ca5d665de65bdec9b51b748f3123e 100644 (file)
@@ -353,6 +353,20 @@ class Redmine::Helpers::GanttHelperTest < Redmine::HelperTest
     assert_select 'div.task_late[style*="width:30px"]', 1
   end
 
+  test "#line late line should be the same width as task_todo if start date and end date are the same day" do
+    create_gantt
+    @output_buffer = @gantt.line(today - 7, today - 7, 0, false, 'line', :format => :html, :zoom => 4)
+    assert_select 'div.task_late[style*="width:2px"]', 1
+    assert_select 'div.task_todo[style*="width:2px"]', 1
+  end
+
+  test "#line late line should be the same width as task_todo if start date and today are the same day" do
+    create_gantt
+    @output_buffer = @gantt.line(today, today, 0, false, 'line', :format => :html, :zoom => 4)
+    assert_select 'div.task_late[style*="width:2px"]', 1
+    assert_select 'div.task_todo[style*="width:2px"]', 1
+  end
+
   test "#line done line should start from the starting point on the left" do
     create_gantt
     @output_buffer = @gantt.line(today - 7, today + 7, 30, false, 'line', :format => :html, :zoom => 4)