From 440109a94c91fc0526fa6559fd1542473e04032d Mon Sep 17 00:00:00 2001 From: Holger Just Date: Fri, 4 Aug 2017 18:56:37 +0200 Subject: [PATCH] Copy project attachments --- app/models/project.rb | 5 +++++ test/unit/project_copy_test.rb | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/app/models/project.rb b/app/models/project.rb index 98b186d9d..026a1d683 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -827,6 +827,11 @@ class Project < ActiveRecord::Base Project.transaction do if save reload + + self.attachments = project.attachments.map do |attachment| + attachment.copy(:container => self) + end + to_be_copied.each do |name| send "copy_#{name}", project end diff --git a/test/unit/project_copy_test.rb b/test/unit/project_copy_test.rb index 71f5b5002..6dce336c9 100644 --- a/test/unit/project_copy_test.rb +++ b/test/unit/project_copy_test.rb @@ -51,6 +51,14 @@ class ProjectCopyTest < ActiveSupport::TestCase assert_equal false, project.copy(@source_project) end + test "#copy should copy project attachments" do + Attachment.create!(:container => @source_project, :file => uploaded_test_file("testfile.txt", "text/plain"), :author_id => 1) + assert @project.copy(@source_project) + + assert_equal 1, @project.attachments.count, "Attachment not copied" + assert_equal "testfile.txt", @project.attachments.first.filename + end + test "#copy should copy issues" do @source_project.issues << Issue.generate!(:status => IssueStatus.find_by_name('Closed'), :subject => "copy issue status", -- 2.13.0