summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2020-11-07 13:16:54 +0100
committerGitHub <noreply@github.com>2020-11-07 13:16:54 +0100
commitee8cf246cfe8e05914ad7dcf81596f8535b3e161 (patch)
treec213e75a0b3114f51871805a5d1abb4094126c7b
parentf84239ecabf5d92d0275894ee357e58af0a4e711 (diff)
Fix crashes in SuspendAccountService/UnsuspendAccountService (#15100)
* Fix crashes in SuspendAccountService/UnsuspendAccountService * Catch filesystem errors
-rw-r--r--app/services/suspend_account_service.rb8
-rw-r--r--app/services/unsuspend_account_service.rb8
2 files changed, 12 insertions, 4 deletions
diff --git a/app/services/suspend_account_service.rb b/app/services/suspend_account_service.rb
index ea96767fa8d..f08c41e17af 100644
--- a/app/services/suspend_account_service.rb
+++ b/app/services/suspend_account_service.rb
@@ -39,11 +39,15 @@ class SuspendAccountService < BaseService
styles.each do |style|
case Paperclip::Attachment.default_options[:storage]
when :s3
- attachment.s3_object(style).acl.put(:private)
+ attachment.s3_object(style).acl.put(acl: 'private')
when :fog
# Not supported
when :filesystem
- FileUtils.chmod(0o600 & ~File.umask, attachment.path(style))
+ begin
+ FileUtils.chmod(0o600 & ~File.umask, attachment.path(style)) unless attachment.path(style).nil?
+ rescue Errno::ENOENT
+ Rails.logger.warn "Tried to change permission on non-existent file #{attachment.path(style)}"
+ end
end
end
end
diff --git a/app/services/unsuspend_account_service.rb b/app/services/unsuspend_account_service.rb
index fe49e347171..91dbc9c1841 100644
--- a/app/services/unsuspend_account_service.rb
+++ b/app/services/unsuspend_account_service.rb
@@ -39,11 +39,15 @@ class UnsuspendAccountService < BaseService
styles.each do |style|
case Paperclip::Attachment.default_options[:storage]
when :s3
- attachment.s3_object(style).acl.put(Paperclip::Attachment.default_options[:s3_permissions])
+ attachment.s3_object(style).acl.put(acl: Paperclip::Attachment.default_options[:s3_permissions])
when :fog
# Not supported
when :filesystem
- FileUtils.chmod(0o666 & ~File.umask, attachment.path(style))
+ begin
+ FileUtils.chmod(0o666 & ~File.umask, attachment.path(style)) unless attachment.path(style).nil?
+ rescue Errno::ENOENT
+ Rails.logger.warn "Tried to change permission on non-existent file #{attachment.path(style)}"
+ end
end
end
end