diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 319a954fd..d8470392d 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -37,5 +37,18 @@ module ApplicationHelper content_tag :div, asterisk + ' '.html_safe + text, class: ['margin-bottom'] end + # + # Returns an image uri for a given member. + # + # Falls back to Gravatar + # + def avatar_uri(member, size = 150) + return member.preferred_avatar_uri if member.preferred_avatar_uri.present? + + Gravatar.new(member.email).image_url({ + :size => size, + :default => :identicon + }) + end end diff --git a/app/views/members/_avatar.html.haml b/app/views/members/_avatar.html.haml index 1c265ed14..3089dc4be 100644 --- a/app/views/members/_avatar.html.haml +++ b/app/views/members/_avatar.html.haml @@ -1,9 +1,5 @@ = link_to | - image_tag( | - Gravatar.new(member.email).image_url( | - options = { | - :size => defined?(size) ? size : 150, | - :default => :identicon }), | + image_tag(avatar_uri(member, 150), | :alt => '', | :class => 'img img-responsive avatar' ), | member_path(member) diff --git a/db/migrate/20150824145414_add_member_preferred_image.rb b/db/migrate/20150824145414_add_member_preferred_image.rb new file mode 100644 index 000000000..dc24bd5a0 --- /dev/null +++ b/db/migrate/20150824145414_add_member_preferred_image.rb @@ -0,0 +1,5 @@ +class AddMemberPreferredImage < ActiveRecord::Migration + def change + add_column :members, :preferred_avatar_uri, :string + end +end