From 6338949fbf304bef9834ed41cad3debdf77d8dfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Thu, 4 Jul 2024 16:42:45 +0200 Subject: [PATCH] 'Target folder and project are the same as current' error when copying a document from one project to another #1532 --- app/controllers/dmsf_controller.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index 71278dc6..5cca93ad 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -141,7 +141,7 @@ class DmsfController < ApplicationController end def copymove - @ids = params[:ids] + @ids = params[:ids].uniq member = Member.find_by(project_id: @project.id, user_id: User.current.id) @fast_links = member&.dmsf_fast_links unless @fast_links @@ -824,7 +824,11 @@ class DmsfController < ApplicationController files = DmsfFile.where(id: @selected_files).to_a links = DmsfLink.where(id: @selected_links).to_a (folders + files + links).each do |entry| - raise RedmineDmsf::Errors::DmsfParentError if entry.dmsf_folder == @target_folder || entry == @target_folder + if entry.dmsf_folder + raise RedmineDmsf::Errors::DmsfParentError if entry.dmsf_folder == @target_folder || entry == @target_folder + elsif @target_folder.nil? + raise RedmineDmsf::Errors::DmsfParentError if entry.project == @target_project + end end # Prevent recursion if params[:move_entries].present?