summaryrefslogtreecommitdiffstats
path: root/app/models/attachment.rb
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2018-12-15 02:58:45 +0000
committerGo MAEDA <maeda@farend.jp>2018-12-15 02:58:45 +0000
commitcccd14ae5cf07edee1f0afb254903740053059cd (patch)
tree2d4ae3bb8736d551f9e2b3bff3d5210430016ab2 /app/models/attachment.rb
parentbda0de004466f9679cffac234ca6a201399f35d2 (diff)
downloadredmine-cccd14ae5cf07edee1f0afb254903740053059cd.tar.gz
redmine-cccd14ae5cf07edee1f0afb254903740053059cd.zip
Deletes thumbnails when the attachment diskfile is deleted (#30177).
Patch by Jens Krämer. git-svn-id: http://svn.redmine.org/redmine/trunk@17736 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/attachment.rb')
-rw-r--r--app/models/attachment.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/app/models/attachment.rb b/app/models/attachment.rb
index fd4931eaf..ac9561c26 100644
--- a/app/models/attachment.rb
+++ b/app/models/attachment.rb
@@ -216,7 +216,7 @@ class Attachment < ActiveRecord::Base
size = Setting.thumbnails_size.to_i
end
size = 100 unless size > 0
- target = File.join(self.class.thumbnails_storage_path, "#{digest}_#{filesize}_#{size}.thumb")
+ target = thumbnail_path(size)
begin
Redmine::Thumbnail.generate(self.diskfile, target, size)
@@ -463,6 +463,14 @@ class Attachment < ActiveRecord::Base
if disk_filename.present? && File.exist?(diskfile)
File.delete(diskfile)
end
+ Dir[thumbnail_path("*")].each do |thumb|
+ File.delete(thumb)
+ end
+ end
+
+ def thumbnail_path(size)
+ File.join(self.class.thumbnails_storage_path,
+ "#{digest}_#{filesize}_#{size}.thumb")
end
def sanitize_filename(value)