#157 fixed
This commit is contained in:
parent
9381d8cc3a
commit
a899d85ca4
@ -214,7 +214,7 @@ class DmsfFile < ActiveRecord::Base
|
||||
|
||||
new_revision = self.last_revision.clone
|
||||
|
||||
new_revision.folder = folder ? folder : nil
|
||||
new_revision.folder = folder
|
||||
new_revision.project = folder ? folder.project : project
|
||||
new_revision.comment = l(:comment_moved_from, :source => "#{self.project.identifier}:#{self.dmsf_path_str}")
|
||||
|
||||
@ -229,25 +229,32 @@ class DmsfFile < ActiveRecord::Base
|
||||
new_revision.custom_values << CustomValue.new({:custom_field => cf, :value => cf.default_value})
|
||||
end
|
||||
end
|
||||
|
||||
# If the target project differs from the source project we must physically move the file
|
||||
if self.project != new_revision.project
|
||||
if File.exist? self.last_revision.disk_file
|
||||
File.move self.last_revision.disk_file, new_revision.disk_file
|
||||
end
|
||||
end
|
||||
|
||||
self.folder = new_revision.folder
|
||||
self.project = new_revision.project
|
||||
|
||||
return self.save && new_revision.save
|
||||
self.save && new_revision.save
|
||||
end
|
||||
|
||||
def copy_to(project, folder)
|
||||
file = DmsfFile.new
|
||||
file.folder = folder ? folder : nil
|
||||
file.folder = folder
|
||||
file.project = folder ? folder.project : project
|
||||
file.name = self.name
|
||||
file.notification = !Setting.plugin_redmine_dmsf["dmsf_default_notifications"].blank?
|
||||
file.notification = Setting.plugin_redmine_dmsf['dmsf_default_notifications'].present?
|
||||
|
||||
if file.save
|
||||
new_revision = self.last_revision.clone
|
||||
|
||||
new_revision.file = file
|
||||
new_revision.folder = folder ? folder : nil
|
||||
new_revision.folder = folder
|
||||
new_revision.project = folder ? folder.project : project
|
||||
new_revision.comment = l(:comment_copied_from, :source => "#{self.project.identifier}: #{self.dmsf_path_str}")
|
||||
|
||||
@ -265,6 +272,13 @@ class DmsfFile < ActiveRecord::Base
|
||||
|
||||
unless new_revision.save
|
||||
file.delete
|
||||
else
|
||||
# If the target project differs from the source project we must physically copy the file
|
||||
if project != self.project
|
||||
if File.exist? self.last_revision.disk_file
|
||||
File.copy self.last_revision.disk_file, new_revision.disk_file
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user