mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-22 08:21:14 +00:00
Copy version attachments (i.e. Files) along with the versions on project copy (#26622).
Patch by Holger Just. git-svn-id: http://svn.redmine.org/redmine/trunk@17332 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
8ce031ef49
commit
c2c2a9c9f7
@ -951,6 +951,11 @@ class Project < ActiveRecord::Base
|
|||||||
project.versions.each do |version|
|
project.versions.each do |version|
|
||||||
new_version = Version.new
|
new_version = Version.new
|
||||||
new_version.attributes = version.attributes.dup.except("id", "project_id", "created_on", "updated_on")
|
new_version.attributes = version.attributes.dup.except("id", "project_id", "created_on", "updated_on")
|
||||||
|
|
||||||
|
new_version.attachments = version.attachments.map do |attachment|
|
||||||
|
attachment.copy(:container => new_version)
|
||||||
|
end
|
||||||
|
|
||||||
self.versions << new_version
|
self.versions << new_version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -284,6 +284,18 @@ class ProjectCopyTest < ActiveSupport::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "#copy should copy version attachments" do
|
||||||
|
version = Version.generate!(:name => "copy with attachment")
|
||||||
|
Attachment.create!(:container => version, :file => uploaded_test_file("testfile.txt", "text/plain"), :author_id => 1)
|
||||||
|
@source_project.versions << version
|
||||||
|
assert @project.copy(@source_project)
|
||||||
|
|
||||||
|
copied_version = @project.versions.where(:name => "copy with attachment").first
|
||||||
|
assert_not_nil copied_version
|
||||||
|
assert_equal 1, copied_version.attachments.count, "Attachment not copied"
|
||||||
|
assert_equal "testfile.txt", copied_version.attachments.first.filename
|
||||||
|
end
|
||||||
|
|
||||||
test "#copy should copy wiki" do
|
test "#copy should copy wiki" do
|
||||||
assert_difference 'Wiki.count' do
|
assert_difference 'Wiki.count' do
|
||||||
assert @project.copy(@source_project)
|
assert @project.copy(@source_project)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user