diff --git a/app/models/issue_relation.rb b/app/models/issue_relation.rb index 751ac3579..c66103c51 100644 --- a/app/models/issue_relation.rb +++ b/app/models/issue_relation.rb @@ -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 diff --git a/test/unit/issue_relation_test.rb b/test/unit/issue_relation_test.rb index 7f1581a26..3c8347b45 100644 --- a/test/unit/issue_relation_test.rb +++ b/test/unit/issue_relation_test.rb @@ -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)