diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 9d0d80d2..b538dd68 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -107,13 +107,11 @@ class DmsfFile < ActiveRecord::Base return false end begin - if Setting.plugin_redmine_dmsf['dmsf_really_delete_files'] - Rails.logger.info '>>> destroy' + if Setting.plugin_redmine_dmsf['dmsf_really_delete_files'] self.revisions.visible.each {|r| r.delete(true)} self.destroy else # Revisions of a deleted file SHOULD be deleted too - Rails.logger.info '>>> visible' self.revisions.visible.each {|r| r.delete } self.deleted = true self.deleted_by_user = User.current diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index 25a7c613..352cfc9e 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -232,8 +232,7 @@ module RedmineDmsf # # should be of entity to be deleted, we simply follow the Dmsf entity method # for deletion and return of appropriate status based on outcome. - def delete - Rails.logger.info ">>>> def delete" + def delete if(file?) then raise Forbidden unless User.current.admin? || User.current.allowed_to?(:file_manipulation, project) file.delete ? NoContent : Conflict