From a5de0fec9e97a7951a0bef465451d0a1d16bf7b4 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 20 Sep 2015 11:18:53 +0000 Subject: [PATCH] Internal error when moving an issue to a project without trackers (#20463). git-svn-id: http://svn.redmine.org/redmine/trunk@14612 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/issue.rb | 5 +++++ app/views/issues/edit.html.erb | 2 +- test/functional/issues_controller_test.rb | 11 +++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/models/issue.rb b/app/models/issue.rb index c7ad2a063..13299b60e 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -873,6 +873,11 @@ class Issue < ActiveRecord::Base end end + # Returns the original tracker + def tracker_was + Tracker.find_by_id(tracker_id_was) + end + # Returns the users that should be notified def notified_users notified = [] diff --git a/app/views/issues/edit.html.erb b/app/views/issues/edit.html.erb index 1cd61b783..da80a0834 100644 --- a/app/views/issues/edit.html.erb +++ b/app/views/issues/edit.html.erb @@ -1,4 +1,4 @@ -

<%= "#{@issue.tracker.name} ##{@issue.id}" %>

+

<%= "#{@issue.tracker_was} ##{@issue.id}" %>

<%= render :partial => 'edit' %> <% content_for :header_tags do %> diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index a69b85630..d02fb1b6d 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -3057,6 +3057,17 @@ class IssuesControllerTest < ActionController::TestCase assert_mail_body_match "Project changed from eCookbook to OnlineStore", mail end + def test_put_update_trying_to_move_issue_to_project_without_tracker_should_not_error + target = Project.generate!(:tracker_ids => []) + assert target.trackers.empty? + issue = Issue.generate! + @request.session[:user_id] = 1 + + put :update, :id => issue.id, :issue => {:project_id => target.id} + assert_response :success + assert_template 'edit' + end + def test_put_update_with_tracker_change @request.session[:user_id] = 2 ActionMailer::Base.deliveries.clear