diff --git a/app/controllers/issue_relations_controller.rb b/app/controllers/issue_relations_controller.rb index bd2d2c42f..cd008529a 100644 --- a/app/controllers/issue_relations_controller.rb +++ b/app/controllers/issue_relations_controller.rb @@ -50,7 +50,7 @@ class IssueRelationsController < ApplicationController respond_to do |format| format.html { redirect_to issue_path(@issue) } format.js { - @relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? } + @relations = @issue.reload.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? } } format.api { if saved diff --git a/app/models/issue.rb b/app/models/issue.rb index 43c298b77..4b95cc011 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -187,6 +187,7 @@ class Issue < ActiveRecord::Base def reload(*args) @workflow_rule_by_attribute = nil @assignable_versions = nil + @relations = nil super end diff --git a/test/functional/issue_relations_controller_test.rb b/test/functional/issue_relations_controller_test.rb index 61d3612c1..04a369b6d 100644 --- a/test/functional/issue_relations_controller_test.rb +++ b/test/functional/issue_relations_controller_test.rb @@ -28,7 +28,8 @@ class IssueRelationsControllerTest < ActionController::TestCase :issue_relations, :enabled_modules, :enumerations, - :trackers + :trackers, + :projects_trackers def setup User.current = nil @@ -87,6 +88,17 @@ class IssueRelationsControllerTest < ActionController::TestCase end end + def test_create_follows_relation_should_update_relations_list + issue1 = Issue.generate!(:subject => 'Followed issue', :start_date => Date.yesterday, :due_date => Date.today) + issue2 = Issue.generate! + + assert_difference 'IssueRelation.count' do + xhr :post, :create, :issue_id => issue2.id, + :relation => {:issue_to_id => issue1.id, :relation_type => 'follows', :delay => ''} + end + assert_match /Followed issue/, response.body + end + def test_should_create_relations_with_visible_issues_only Setting.cross_project_issue_relations = '1' assert_nil Issue.visible(User.find(3)).find_by_id(4)