diff --git a/app/models/dmsf_file_revision.rb b/app/models/dmsf_file_revision.rb index 3fade85e..154dd127 100644 --- a/app/models/dmsf_file_revision.rb +++ b/app/models/dmsf_file_revision.rb @@ -64,8 +64,17 @@ class DmsfFileRevision < ActiveRecord::Base errors.add_to_base(l(:error_at_least_one_revision_must_be_present)) return false end + dependent = DmsfFileRevision.find(:all, :conditions => + ["source_dmsf_file_revision_id = :id and deleted = :deleted", + {:id => self.id, :deleted => false}]) + dependent.each do |d| + d.source_revision = self.source_revision + d.save! + end if Setting.plugin_redmine_dmsf["dmsf_really_delete_files"] - File.delete(self.disk_file) + dependent = DmsfFileRevision.find(:all, :conditions => + ["disk_filename = :filename", {:filename => self.disk_filename}]) + File.delete(self.disk_file) if dependent.length <= 1 self.destroy else self.deleted = true diff --git a/init.rb b/init.rb index 82717509..62132592 100644 --- a/init.rb +++ b/init.rb @@ -29,7 +29,7 @@ Redmine::Plugin.register :redmine_dmsf do name "DMSF" author "Vít Jonáš" description "Document Management System Features" - version "0.8.2" + version "0.9.0" url "https://code.google.com/p/redmine-dmsf/" author_url "mailto:vit.jonas@gmail.com"