diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-07-11 17:25:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-11 17:25:49 +0200 |
commit | e6c81a635b99dcec4f8fded00d9451cb876df822 (patch) | |
tree | 37e81b36d0739181bd75c78d0d80a48eb325a2bb /app | |
parent | f93de3a516d23cddea7cce147d3da3decac85f2f (diff) |
Fix #2848 - Rake task to redownload avatars/headers (#4156)
Can be filtered by a specific domain Resolves #2292
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/admin/accounts_controller.rb | 4 | ||||
-rw-r--r-- | app/models/concerns/remotable.rb | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/app/controllers/admin/accounts_controller.rb b/app/controllers/admin/accounts_controller.rb index ef2f8c4c2..7bceee2cd 100644 --- a/app/controllers/admin/accounts_controller.rb +++ b/app/controllers/admin/accounts_controller.rb @@ -22,8 +22,8 @@ module Admin end def redownload - @account.avatar = @account.avatar_remote_url - @account.header = @account.header_remote_url + @account.reset_avatar! + @account.reset_header! @account.save! redirect_to admin_account_path(@account.id) diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb index 08d4fc59c..b4f169649 100644 --- a/app/models/concerns/remotable.rb +++ b/app/models/concerns/remotable.rb @@ -6,8 +6,9 @@ module Remotable included do attachment_definitions.each_key do |attachment_name| - attribute_name = "#{attachment_name}_remote_url".to_sym - method_name = "#{attribute_name}=".to_sym + attribute_name = "#{attachment_name}_remote_url".to_sym + method_name = "#{attribute_name}=".to_sym + alt_method_name = "reset_#{attachment_name}!".to_sym define_method method_name do |url| begin @@ -35,6 +36,15 @@ module Remotable nil end end + + define_method alt_method_name do + url = self[attribute_name] + + return if url.blank? + + self[attribute_name] = '' + send(method_name, url) + end end end end |