From: Tom Hughes Date: Wed, 31 Jul 2019 10:42:09 +0000 (+0100) Subject: Avoid trying to resize non-resizable images X-Git-Tag: live~2475 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/1addc078c0809ef591057980a7ab6cdab9891e44?hp=9581fc24f8141fc50bcb450fc910d64faf98db73 Avoid trying to resize non-resizable images Fixed #2329 --- diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb index 7914805ea..74f16380c 100644 --- a/app/helpers/user_helper.rb +++ b/app/helpers/user_helper.rb @@ -8,7 +8,7 @@ module UserHelper if user.image_use_gravatar user_gravatar_tag(user, options) elsif user.avatar.attached? - image_tag user.avatar.variant(:resize => "100x100>"), options + image_tag user_avatar_variant(user, :resize => "100x100>"), options else image_tag "avatar_large.png", options end @@ -21,7 +21,7 @@ module UserHelper if user.image_use_gravatar user_gravatar_tag(user, options) elsif user.avatar.attached? - image_tag user.avatar.variant(:resize => "50x50>"), options + image_tag user_avatar_variant(user, :resize => "50x50>"), options else image_tag "avatar_small.png", options end @@ -34,7 +34,7 @@ module UserHelper if user.image_use_gravatar user_gravatar_tag(user, options) elsif user.avatar.attached? - image_tag user.avatar.variant(:resize => "50x50>"), options + image_tag user_avatar_variant(user, :resize => "50x50>"), options else image_tag "avatar_small.png", options end @@ -44,7 +44,7 @@ module UserHelper if user.image_use_gravatar user_gravatar_url(user, options) elsif user.avatar.attached? - polymorphic_url(user.avatar.variant(:resize => "100x100>"), :host => Settings.server_url) + polymorphic_url(user_avatar_variant(user, :resize => "100x100>"), :host => Settings.server_url) else image_url("avatar_large.png") end @@ -67,6 +67,16 @@ module UserHelper private + # Local avatar support + + def user_avatar_variant(user, options) + if user.avatar.variable? + user.avatar.variant(options) + else + user.avatar + end + end + # Gravatar support # See http://en.gravatar.com/site/implement/images/ for details.