From: Jean-Philippe Lang Date: Sat, 30 May 2015 08:06:31 +0000 (+0000) Subject: Merged r14268 (#19815). X-Git-Tag: 3.0.4~19 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=04df8cbbacb70e4a5c50b2205d4c8f795ee9b769;p=redmine.git Merged r14268 (#19815). git-svn-id: http://svn.redmine.org/redmine/branches/3.0-stable@14277 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 4525aa390..2f7aa5315 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -248,7 +248,10 @@ class IssuesController < ApplicationController def bulk_update @issues.sort! @copy = params[:copy].present? + attributes = parse_params_for_bulk_issue_attributes(params) + copy_subtasks = (params[:copy_subtasks] == '1') + copy_attachments = (params[:copy_attachments] == '1') if @copy unless User.current.allowed_to?(:copy_issues, @projects) @@ -266,7 +269,7 @@ class IssuesController < ApplicationController unsaved_issues = [] saved_issues = [] - if @copy && params[:copy_subtasks].present? + if @copy && copy_subtasks # Descendant issues will be copied with the parent task # Don't copy them twice @issues.reject! {|issue| @issues.detect {|other| issue.is_descendant_of?(other)}} @@ -276,8 +279,8 @@ class IssuesController < ApplicationController orig_issue.reload if @copy issue = orig_issue.copy({}, - :attachments => params[:copy_attachments].present?, - :subtasks => params[:copy_subtasks].present?, + :attachments => copy_attachments, + :subtasks => copy_subtasks, :link => link_copy?(params[:link_copy]) ) else diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index c3ebaf4a3..f4403e893 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -4025,7 +4025,7 @@ class IssuesControllerTest < ActionController::TestCase assert_difference 'Issue.count', 1 do assert_no_difference 'Attachment.count' do - post :bulk_update, :ids => [3], :copy => '1', + post :bulk_update, :ids => [3], :copy => '1', :copy_attachments => '0', :issue => { :project_id => '' } @@ -4066,7 +4066,7 @@ class IssuesControllerTest < ActionController::TestCase @request.session[:user_id] = 2 assert_difference 'Issue.count', 1 do - post :bulk_update, :ids => [issue.id], :copy => '1', + post :bulk_update, :ids => [issue.id], :copy => '1', :copy_subtasks => '0', :issue => { :project_id => '' }