git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4467 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/1.1.0
@@ -84,14 +84,15 @@ class IssueRelation < ActiveRecord::Base | |||
def set_issue_to_dates | |||
soonest_start = self.successor_soonest_start | |||
if soonest_start | |||
if soonest_start && issue_to | |||
issue_to.reschedule_after(soonest_start) | |||
end | |||
end | |||
def successor_soonest_start | |||
return nil unless (TYPE_PRECEDES == self.relation_type) && (issue_from.start_date || issue_from.due_date) | |||
(issue_from.due_date || issue_from.start_date) + 1 + delay | |||
if (TYPE_PRECEDES == self.relation_type) && delay && issue_from && (issue_from.start_date || issue_from.due_date) | |||
(issue_from.due_date || issue_from.start_date) + 1 + delay | |||
end | |||
end | |||
def <=>(relation) |
@@ -63,4 +63,14 @@ class IssueRelationTest < ActiveSupport::TestCase | |||
assert_equal IssueRelation::TYPE_PRECEDES, relation.relation_type_for(from) | |||
assert_equal IssueRelation::TYPE_FOLLOWS, relation.relation_type_for(to) | |||
end | |||
def test_set_issue_to_dates_without_issue_to | |||
r = IssueRelation.new(:issue_from => Issue.new(:start_date => Date.today), :relation_type => IssueRelation::TYPE_PRECEDES, :delay => 1) | |||
assert_nil r.set_issue_to_dates | |||
end | |||
def test_set_issue_to_dates_without_issues | |||
r = IssueRelation.new(:relation_type => IssueRelation::TYPE_PRECEDES, :delay => 1) | |||
assert_nil r.set_issue_to_dates | |||
end | |||
end |