'Copy folders only' doesn't work properly #1296
This commit is contained in:
parent
6c5c824435
commit
09a727a99d
@ -273,7 +273,7 @@ class DmsfFolder < ActiveRecord::Base
|
||||
save
|
||||
end
|
||||
|
||||
def copy_to(project, folder)
|
||||
def copy_to(project, folder, copy_files = true)
|
||||
new_folder = DmsfFolder.new
|
||||
new_folder.dmsf_folder = folder ? folder : nil
|
||||
new_folder.project = folder ? folder.project : project
|
||||
@ -291,14 +291,16 @@ class DmsfFolder < ActiveRecord::Base
|
||||
Rails.logger.error new_folder.errors.full_messages.to_sentence
|
||||
return new_folder
|
||||
end
|
||||
dmsf_files.visible.find_each do |f|
|
||||
f.copy_to project, new_folder
|
||||
if copy_files
|
||||
dmsf_files.visible.find_each do |f|
|
||||
f.copy_to project, new_folder
|
||||
end
|
||||
dmsf_links.visible.find_each do |l|
|
||||
l.copy_to project, new_folder
|
||||
end
|
||||
end
|
||||
dmsf_folders.visible.find_each do |s|
|
||||
s.copy_to project, new_folder
|
||||
end
|
||||
dmsf_links.visible.find_each do |l|
|
||||
l.copy_to project, new_folder
|
||||
s.copy_to project, new_folder, copy_files
|
||||
end
|
||||
dmsf_folder_permissions.find_each do |p|
|
||||
p.copy_to new_folder
|
||||
|
||||
@ -80,16 +80,14 @@ module RedmineDmsf
|
||||
end
|
||||
|
||||
def dmsf_count
|
||||
file_count = DmsfFile.where(project_id: id).all.size +
|
||||
DmsfLink.where(project_id: id, target_type: %(DmsfFile DmsfUrl)).all.size
|
||||
folder_count = DmsfFolder.where(project_id: id).all.size +
|
||||
DmsfLink.where(project_id: id, target_type: 'DmsfFolder').all.size
|
||||
file_count = DmsfFile.visible.where(project_id: id).all.size
|
||||
folder_count = DmsfFolder.visible.where(project_id: id).all.size
|
||||
{ files: file_count, folders: folder_count }
|
||||
end
|
||||
|
||||
# Simple yet effective approach to copying things
|
||||
def copy_dmsf(project)
|
||||
copy_dmsf_folders project
|
||||
copy_dmsf_folders project, true
|
||||
project.dmsf_files.visible.each do |f|
|
||||
f.copy_to self, nil
|
||||
end
|
||||
@ -101,9 +99,9 @@ module RedmineDmsf
|
||||
end
|
||||
end
|
||||
|
||||
def copy_dmsf_folders(project)
|
||||
def copy_dmsf_folders(project, copy_files = false)
|
||||
project.dmsf_folders.visible.each do |f|
|
||||
f.copy_to self, nil
|
||||
f.copy_to self, nil, copy_files
|
||||
end
|
||||
project.folder_links.visible.each do |l|
|
||||
l.copy_to self, nil
|
||||
|
||||
@ -54,9 +54,10 @@ class ProjectPatchTest < RedmineDmsf::Test::UnitTest
|
||||
end
|
||||
|
||||
def test_dmsf_count
|
||||
User.current = @jsmith
|
||||
hash = @project1.dmsf_count
|
||||
assert_equal 10, hash[:files]
|
||||
assert_equal 8, hash[:folders]
|
||||
assert_equal 9, hash[:files]
|
||||
assert_equal 5, hash[:folders]
|
||||
end
|
||||
|
||||
def test_copy_approval_workflows
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user