diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2018-08-10 12:13:45 +0000 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2018-08-10 12:13:45 +0000 |
commit | 63cf88810d35cccd66d27c6eb5e1a5c6157e53d3 (patch) | |
tree | ac8a4bd194bcdd0fb62570634a132a47c645e844 /app/helpers/avatars_helper.rb | |
parent | f8f699ab976801af80221994fbfe148f39070d8a (diff) | |
parent | 52646106754a4eae02c6ae0c988508981c4f8e39 (diff) | |
download | gitlab-ce-63cf88810d35cccd66d27c6eb5e1a5c6157e53d3.tar.gz |
Merge branch 'master' into 'port-i18n-for-mirrors-instructions'
# Conflicts:
# app/views/projects/mirrors/_instructions.html.haml
Diffstat (limited to 'app/helpers/avatars_helper.rb')
-rw-r--r-- | app/helpers/avatars_helper.rb | 52 |
1 files changed, 31 insertions, 21 deletions
diff --git a/app/helpers/avatars_helper.rb b/app/helpers/avatars_helper.rb index d48dae8f06d..494f785e305 100644 --- a/app/helpers/avatars_helper.rb +++ b/app/helpers/avatars_helper.rb @@ -1,28 +1,10 @@ module AvatarsHelper def project_icon(project_id, options = {}) - project = - if project_id.respond_to?(:avatar_url) - project_id - else - Project.find_by_full_path(project_id) - end - - if project.avatar_url - image_tag project.avatar_url, options - else # generated icon - project_identicon(project, options) - end + source_icon(Project, project_id, options) end - def project_identicon(project, options = {}) - bg_key = (project.id % 7) + 1 - options[:class] ||= '' - options[:class] << ' identicon' - options[:class] << " bg#{bg_key}" - - content_tag(:div, class: options[:class]) do - project.name[0, 1].upcase - end + def group_icon(group_id, options = {}) + source_icon(Group, group_id, options) end # Takes both user and email and returns the avatar_icon by @@ -123,4 +105,32 @@ module AvatarsHelper mail_to(options[:user_email], avatar) end end + + private + + def source_icon(klass, source_id, options = {}) + source = + if source_id.respond_to?(:avatar_url) + source_id + else + klass.find_by_full_path(source_id) + end + + if source.avatar_url + image_tag source.avatar_url, options + else + source_identicon(source, options) + end + end + + def source_identicon(source, options = {}) + bg_key = (source.id % 7) + 1 + options[:class] ||= '' + options[:class] << ' identicon' + options[:class] << " bg#{bg_key}" + + content_tag(:div, class: options[:class].strip) do + source.name[0, 1].upcase + end + end end |