aboutsummaryrefslogtreecommitdiffstats
path: root/app/helpers
diff options
context:
space:
mode:
authorMarc Florisson2014-12-16 11:26:24 +0100
committerMarc Florisson2014-12-16 11:26:24 +0100
commit7680978296a44eccd89d9ae190c7cf88c75e0f8d (patch)
treee584f765c8a966fb61e692589ca844ecfd63a0cb /app/helpers
parenta0433013264531e825268d0ae1a0da873d368313 (diff)
downloadchouette-core-7680978296a44eccd89d9ae190c7cf88c75e0f8d.tar.bz2
fix user's image display (production environment, networkless context...)
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/users_helper.rb28
1 files changed, 20 insertions, 8 deletions
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
index 0ddea8356..0dfc1552f 100644
--- a/app/helpers/users_helper.rb
+++ b/app/helpers/users_helper.rb
@@ -1,16 +1,28 @@
module UsersHelper
def user_gravatar_image_tag(user, size = 64)
- gravatar_image_tag user.email, :alt => "", :class => "preview", :gravatar => { :default => user_default_avatar , :size => size }
+ image_tag user_image(user), :alt => "", :class => "preview", :width => size, :height => size
end
- def user_default_avatar
- return "#{root_url}#{image_path('icons/user.png')}" if Rails.application.config.relative_url_root.blank?
-
- relative_url_root = Rails.application.config.relative_url_root.gsub( /\//, '')
- "#{root_url}#{image_path('icons/user.png')}".
- sub( Regexp.new("/#{relative_url_root}/#{relative_url_root}/"), "/#{relative_url_root}/").
- sub( Regexp.new("/#{relative_url_root}//#{relative_url_root}/"), "/#{relative_url_root}/")
+ def gravatar_hash(user)
+ Digest::MD5.hexdigest( user.email)
+ end
+ def gravatar_url( user)
+ "http://www.gravatar.com/avatar/#{gravatar_hash(user)}?d=404"
+ end
+ def user_image(user)
+ begin
+ gravatar_resource = RestClient.get( gravatar_url( user)){|response, request, result| response }
+ rescue
+ # Happens if network is not available
+ return 'icons/user.png'
+ end
+ if gravatar_resource.code == 404
+ # Happens if user has not registered to gravatar
+ 'icons/user.png'
+ else
+ gravatar_url( user)
+ end
end
end