From 11e8dc263f9ab8316ed152c2ff6715068cd31c14 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 11 Apr 2015 07:09:11 +0000 Subject: [PATCH] When create by copying the issue, status can not be changed to default (#19553). git-svn-id: http://svn.redmine.org/redmine/trunk@14158 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/issues_controller.rb | 2 +- test/functional/issues_controller_test.rb | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 48608f7a7..8bc326eaa 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -425,7 +425,7 @@ class IssuesController < ApplicationController @issue.start_date ||= Date.today if Setting.default_issue_start_date_to_creation_date? if attrs = params[:issue].deep_dup - if params[:was_default_status] == attrs[:status_id] + if action_name == 'new' && params[:was_default_status] == attrs[:status_id] attrs.delete(:status_id) end @issue.safe_attributes = attrs diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 7685dc127..33a85540e 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -2605,6 +2605,20 @@ class IssuesControllerTest < ActionController::TestCase assert_equal 'Copy', issue.subject end + def test_create_as_copy_should_allow_status_to_be_set_to_default + copied = Issue.generate! :status_id => 2 + assert_equal 2, copied.reload.status_id + + @request.session[:user_id] = 2 + assert_difference 'Issue.count' do + post :create, :project_id => 1, :copy_from => copied.id, + :issue => {:project_id => '1', :tracker_id => '1', :status_id => '1'}, + :was_default_status => '1' + end + issue = Issue.order('id DESC').first + assert_equal 1, issue.status_id + end + def test_create_as_copy_should_copy_attachments @request.session[:user_id] = 2 issue = Issue.find(3) -- 2.39.5