Prevent database query each time we render group avatar
This commit is contained in:
parent
0f144f36bc
commit
7ac62388a5
8 changed files with 18 additions and 15 deletions
|
@ -86,15 +86,6 @@ module ApplicationHelper
|
|||
end
|
||||
end
|
||||
|
||||
def group_icon(group_path)
|
||||
group = Group.find_by(path: group_path)
|
||||
if group && group.avatar.present?
|
||||
group.avatar.url
|
||||
else
|
||||
image_path('no_group_avatar.png')
|
||||
end
|
||||
end
|
||||
|
||||
def avatar_icon(user_email = '', size = nil)
|
||||
user = User.find_by(email: user_email)
|
||||
|
||||
|
|
|
@ -40,4 +40,16 @@ module GroupsHelper
|
|||
false
|
||||
end
|
||||
end
|
||||
|
||||
def group_icon(group)
|
||||
if group.is_a?(String)
|
||||
group = Group.find_by(path: group)
|
||||
end
|
||||
|
||||
if group && group.avatar.present?
|
||||
group.avatar.url
|
||||
else
|
||||
image_path('no_group_avatar.png')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -28,7 +28,7 @@ module NamespacesHelper
|
|||
|
||||
def namespace_icon(namespace, size = 40)
|
||||
if namespace.kind_of?(Group)
|
||||
group_icon(namespace.path)
|
||||
group_icon(namespace)
|
||||
else
|
||||
avatar_icon(namespace.owner.email, size)
|
||||
end
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
Group info:
|
||||
%ul.well-list
|
||||
%li
|
||||
= image_tag group_icon(@group.path), class: "avatar s60"
|
||||
= image_tag group_icon(@group), class: "avatar s60"
|
||||
%li
|
||||
%span.light Name:
|
||||
%strong= @group.name
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
%i.fa.fa-sign-out
|
||||
Leave
|
||||
|
||||
= image_tag group_icon(group.path), class: "avatar s40 avatar-tile"
|
||||
= image_tag group_icon(group), class: "avatar s40 avatar-tile"
|
||||
= link_to group, class: 'group-name' do
|
||||
%strong= group.name
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
.form-group
|
||||
.col-sm-2
|
||||
.col-sm-10
|
||||
= image_tag group_icon(@group.to_param), alt: '', class: 'avatar group-avatar s160'
|
||||
= image_tag group_icon(@group), alt: '', class: 'avatar group-avatar s160'
|
||||
%p.light
|
||||
- if @group.avatar?
|
||||
You can change your group avatar here
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.dashboard
|
||||
%div
|
||||
= image_tag group_icon(@group.path), class: "avatar group-avatar s90"
|
||||
= image_tag group_icon(@group), class: "avatar group-avatar s90"
|
||||
.clearfix
|
||||
%h2
|
||||
= @group.name
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.clearfix
|
||||
- groups.each do |group|
|
||||
= link_to group, class: 'profile-groups-avatars inline', title: group.name do
|
||||
= image_tag group_icon(group.path), class: 'avatar group-avatar s40'
|
||||
= image_tag group_icon(group), class: 'avatar group-avatar s40'
|
||||
|
|
Loading…
Reference in a new issue