diff --git a/app/models/dmsf_folder.rb b/app/models/dmsf_folder.rb index 71a20a9b..3a48cf58 100644 --- a/app/models/dmsf_folder.rb +++ b/app/models/dmsf_folder.rb @@ -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]) diff --git a/lib/redmine_dmsf/lockable.rb b/lib/redmine_dmsf/lockable.rb index fae03947..e15a1401 100644 --- a/lib/redmine_dmsf/lockable.rb +++ b/lib/redmine_dmsf/lockable.rb @@ -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