git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6177 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/1.3.0
@@ -1,5 +1,5 @@ | |||
# redMine - project management software | |||
# Copyright (C) 2006-2007 Jean-Philippe Lang | |||
# Redmine - project management software | |||
# Copyright (C) 2006-2011 Jean-Philippe Lang | |||
# | |||
# This program is free software; you can redistribute it and/or | |||
# modify it under the terms of the GNU General Public License | |||
@@ -43,6 +43,14 @@ class IssueRelation < ActiveRecord::Base | |||
attr_protected :issue_from_id, :issue_to_id | |||
def after_initialize | |||
if new_record? | |||
if relation_type.blank? | |||
self.relation_type = IssueRelation::TYPE_RELATES | |||
end | |||
end | |||
end | |||
def validate | |||
if issue_from && issue_to | |||
errors.add :issue_to_id, :invalid if issue_from_id == issue_to_id |
@@ -1,5 +1,5 @@ | |||
# Redmine - project management software | |||
# Copyright (C) 2006-2009 Jean-Philippe Lang | |||
# Copyright (C) 2006-2011 Jean-Philippe Lang | |||
# | |||
# This program is free software; you can redistribute it and/or | |||
# modify it under the terms of the GNU General Public License | |||
@@ -32,6 +32,12 @@ class IssueRelationTest < ActiveSupport::TestCase | |||
assert_equal to, relation.issue_to | |||
end | |||
def test_create_minimum | |||
relation = IssueRelation.new :issue_from => Issue.find(1), :issue_to => Issue.find(2) | |||
assert relation.save | |||
assert_equal IssueRelation::TYPE_RELATES, relation.relation_type | |||
end | |||
def test_follows_relation_should_be_reversed | |||
from = Issue.find(1) | |||
to = Issue.find(2) |