Просмотр исходного кода

Gantt bar is not displayed if the due date is the leftmost date or the start date is the rightmost date (#33140).

Patch by Yuichi HARADA.


git-svn-id: http://svn.redmine.org/redmine/trunk@19935 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/4.2.0
Go MAEDA 3 лет назад
Родитель
Сommit
e93febfda2
2 измененных файлов: 27 добавлений и 1 удалений
  1. 1
    1
      lib/redmine/helpers/gantt.rb
  2. 26
    0
      test/unit/lib/redmine/helpers/gantt_test.rb

+ 1
- 1
lib/redmine/helpers/gantt.rb Просмотреть файл

@@ -614,7 +614,7 @@ module Redmine
def coordinates(start_date, end_date, progress, zoom=nil)
zoom ||= @zoom
coords = {}
if start_date && end_date && start_date < self.date_to && end_date > self.date_from
if start_date && end_date && start_date <= self.date_to && end_date >= self.date_from
if start_date > self.date_from
coords[:start] = start_date - self.date_from
coords[:bar_start] = start_date - self.date_from

+ 26
- 0
test/unit/lib/redmine/helpers/gantt_test.rb Просмотреть файл

@@ -44,6 +44,12 @@ class Redmine::Helpers::GanttHelperTest < Redmine::HelperTest
def gantt_start
@gantt.date_from
end
private :gantt_start

def gantt_end
@gantt.date_to
end
private :gantt_end

# Creates a Gantt chart for a 4 week span
def create_gantt(project=Project.generate!, options={})
@@ -354,6 +360,26 @@ class Redmine::Helpers::GanttHelperTest < Redmine::HelperTest
assert_select 'div.task_todo[style*="left:28px"]', 1
end

test "#line todo line should appear if it ends on the leftmost date in the gantt" do
create_gantt
[gantt_start - 1, gantt_start].each do |start_date|
@output_buffer = @gantt.line(start_date, gantt_start, 30, false, 'line', :format => :html, :zoom => 4)
# the leftmost date (Date.today - 14 days)
assert_select 'div.task_todo[style*="left:0px"]', 1, @output_buffer
assert_select 'div.task_todo[style*="width:2px"]', 1, @output_buffer
end
end

test "#line todo line should appear if it starts on the rightmost date in the gantt" do
create_gantt
[gantt_end, gantt_end + 1].each do |end_date|
@output_buffer = @gantt.line(gantt_end, end_date, 30, false, 'line', :format => :html, :zoom => 4)
# the rightmost date (Date.today + 14 days)
assert_select 'div.task_todo[style*="left:112px"]', 1, @output_buffer
assert_select 'div.task_todo[style*="width:2px"]', 1, @output_buffer
end
end

test "#line todo line should be the total width" do
create_gantt
@output_buffer = @gantt.line(today - 7, today + 7, 30, false, 'line', :format => :html, :zoom => 4)

Загрузка…
Отмена
Сохранить