FIX: link to filtered down list of badges from summary

FEATURE: pick featured badges in summary page
This commit is contained in:
Sam 2016-01-24 15:51:30 +11:00
parent 0064927077
commit 4b8e12d138
2 changed files with 3 additions and 10 deletions

View File

@ -52,7 +52,7 @@
<div class='top-section badges-section'> <div class='top-section badges-section'>
<h3>{{i18n "user.summary.top_badges"}}</h3> <h3>{{i18n "user.summary.top_badges"}}</h3>
{{#each badge in model.badges}} {{#each badge in model.badges}}
{{user-badge badge=badge count=badge.count}} {{user-badge badge=badge count=badge.count user=user}}
{{/each}} {{/each}}
{{#if moreBadges}} {{#if moreBadges}}
{{#link-to "user.badges" user class="more"}}{{i18n "user.summary.more_badges"}}{{/link-to}} {{#link-to "user.badges" user class="more"}}{{i18n "user.summary.more_badges"}}{{/link-to}}

View File

@ -2,7 +2,7 @@
class UserSummary class UserSummary
MAX_FEATURED_BADGES = 7 MAX_FEATURED_BADGES = 10
MAX_TOPICS = 6 MAX_TOPICS = 6
alias :read_attribute_for_serialization :send alias :read_attribute_for_serialization :send
@ -35,14 +35,7 @@ class UserSummary
end end
def badges def badges
user_badges = @user.user_badges @user.featured_user_badges(MAX_FEATURED_BADGES)
user_badges = user_badges.group(:badge_id)
.select(UserBadge.attribute_names.map {|x|
"MAX(#{x}) as #{x}" }, 'COUNT(*) as count')
.includes(badge: [:badge_grouping, :badge_type])
.includes(post: :topic)
.includes(:granted_by)
.limit(MAX_FEATURED_BADGES)
end end
def user_stat def user_stat