From 4ae5c379664c1ed9bc1d7225487c15731c8ea185 Mon Sep 17 00:00:00 2001 From: "COLA@Redminetest" Date: Mon, 7 Nov 2016 00:16:03 +0100 Subject: [PATCH] When deleting temporary MsOffice files then also destroy the file. --- lib/redmine_dmsf/webdav/dmsf_resource.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index fbe02371..cf3c5e37 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -226,7 +226,19 @@ module RedmineDmsf def delete if file raise Forbidden unless User.current.admin? || User.current.allowed_to?(:file_delete, project) - file.delete(false) ? NoContent : Conflict + if file.name.match(/.\.tmp$/i) + # .tmp files should be destroyed (MsOffice file) + destroy = true + elsif file.name.match(/^\~\$/i) + # Files starting with ~$ should be destroyed (MsOffice file) + destroy = true + elsif file.last_revision.size == 0 + # Zero-sized files should be destroyed + destroy = true + else + destroy = false + end + file.delete(destroy) ? NoContent : Conflict elsif folder raise Forbidden unless User.current.admin? || User.current.allowed_to?(:folder_manipulation, project) folder.delete(false) ? NoContent : Conflict