2017-05-11 06:16:57 +08:00
|
|
|
module Jobs
|
|
|
|
|
|
|
|
class CreateAvatarThumbnails < Jobs::Base
|
|
|
|
|
|
|
|
def execute(args)
|
2017-06-22 10:23:31 +08:00
|
|
|
return if Rails.env.test?
|
2017-05-11 06:16:57 +08:00
|
|
|
upload_id = args[:upload_id]
|
|
|
|
|
|
|
|
raise Discourse::InvalidParameters.new(:upload_id) if upload_id.blank?
|
|
|
|
|
2017-05-11 15:07:04 +08:00
|
|
|
return unless upload = Upload.find_by(id: upload_id)
|
2017-10-02 10:24:37 +08:00
|
|
|
return unless user = User.find_by(id: args[:user_id] || upload.user_id)
|
2017-05-11 06:16:57 +08:00
|
|
|
|
|
|
|
Discourse.avatar_sizes.each do |size|
|
|
|
|
OptimizedImage.create_for(upload, size, size, filename: upload.original_filename, allow_animation: SiteSetting.allow_animated_avatars)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|