Merge pull request #612 from carlolars/restore_file_problem
Restore file problem
This commit is contained in:
commit
62b7e04a15
@ -36,7 +36,7 @@ class DmsfFile < ActiveRecord::Base
|
||||
belongs_to :dmsf_folder
|
||||
belongs_to :deleted_by_user, :class_name => 'User', :foreign_key => 'deleted_by_user_id'
|
||||
|
||||
has_many :dmsf_file_revisions, -> { order("#{DmsfFileRevision.table_name}.major_version DESC, #{DmsfFileRevision.table_name}.minor_version DESC, #{DmsfFileRevision.table_name}.updated_at DESC") },
|
||||
has_many :dmsf_file_revisions, -> { order("#{DmsfFileRevision.table_name}.id DESC") },
|
||||
:dependent => :destroy
|
||||
has_many :locks, -> { where(entity_type: 0).order("#{DmsfLock.table_name}.updated_at DESC") },
|
||||
:class_name => 'DmsfLock', :foreign_key => 'entity_id', :dependent => :destroy
|
||||
|
||||
@ -83,11 +83,7 @@ class DmsfFileRevision < ActiveRecord::Base
|
||||
errors[:base] << l(:error_at_least_one_revision_must_be_present)
|
||||
return false
|
||||
end
|
||||
dependent = DmsfFileRevision.where(:source_dmsf_file_revision_id => self.id).all
|
||||
dependent.each do |d|
|
||||
d.source_revision = self.source_revision
|
||||
d.save!
|
||||
end
|
||||
|
||||
if commit
|
||||
self.destroy
|
||||
else
|
||||
@ -104,6 +100,11 @@ class DmsfFileRevision < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def destroy
|
||||
dependent = DmsfFileRevision.where(:source_dmsf_file_revision_id => self.id).all
|
||||
dependent.each do |d|
|
||||
d.source_revision = self.source_revision
|
||||
d.save!
|
||||
end
|
||||
if Setting.plugin_redmine_dmsf['dmsf_really_delete_files']
|
||||
dependencies = DmsfFileRevision.where(:disk_filename => self.disk_filename).all.count
|
||||
File.delete(self.disk_file) if dependencies <= 1 && File.exist?(self.disk_file)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user