Prevent recursion while copying folders

This commit is contained in:
Karel Pičman 2019-05-24 10:12:03 +02:00
parent dd6ff1cdce
commit cbb6f685d4
2 changed files with 4 additions and 2 deletions

View File

@ -206,7 +206,9 @@ class DmsfFolder < ActiveRecord::Base
tree = [[l(:link_documents), nil]]
project_id = (project.is_a?(Project)) ? project.id : project
folders = DmsfFolder.where(project_id: project_id, dmsf_folder_id: nil).visible(false).to_a
# TODO: This prevents copying folders into its sub-folders too. It should be allowed.
folders.delete(current_folder)
#
folders = folders.delete_if{ |f| f.locked_for_user? }
folders.each do |folder|
tree.push(["...#{folder.title}", folder.id])

View File

@ -37,8 +37,8 @@ module RedmineDmsf
ret << lock unless lock.expired?
end
end
if tree
ret = ret | (self.dmsf_folder.locks.empty? ? self.dmsf_folder.lock : self.dmsf_folder.locks) if dmsf_folder
if tree && dmsf_folder
ret = ret | (dmsf_folder.locks.empty? ? dmsf_folder.lock : dmsf_folder.locks)
end
ret
end