diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 4525aa3..2f7aa53 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 c3ebaf4..f4403e8 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 => '' }