mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Merge pull request #2212 from vikhyat/badge-system
Show badges in the poster expansion card
This commit is contained in:
@@ -57,7 +57,10 @@ Discourse.AdminUserBadgesController = Ember.ArrayController.extend({
|
||||
self.pushObject(userBadge);
|
||||
Ember.run.next(function() {
|
||||
// Update the selected badge ID after the combobox has re-rendered.
|
||||
self.set('selectedBadgeId', self.get('grantableBadges')[0].get('id'));
|
||||
var newSelectedBadge = self.get('grantableBadges')[0];
|
||||
if (newSelectedBadge) {
|
||||
self.set('selectedBadgeId', newSelectedBadge.get('id'));
|
||||
}
|
||||
});
|
||||
}, function() {
|
||||
// Failure
|
||||
|
||||
@@ -20,6 +20,16 @@ Discourse.PosterExpansionController = Discourse.ObjectController.extend({
|
||||
|
||||
hasUserFilters: Em.computed.gt('postStream.userFilters.length', 0),
|
||||
|
||||
showBadges: function() {
|
||||
return Discourse.SiteSettings.enable_badges;
|
||||
}.property(),
|
||||
|
||||
moreBadgesCount: function() {
|
||||
return this.get('user.badge_count') - this.get('user.featured_user_badges.length');
|
||||
}.property('user.badge_count', 'user.featured_user_badges.@each'),
|
||||
|
||||
showMoreBadges: Em.computed.gt('moreBadgesCount', 0),
|
||||
|
||||
show: function(post) {
|
||||
|
||||
// Don't show on mobile
|
||||
|
||||
@@ -312,10 +312,21 @@ Discourse.User = Discourse.Model.extend({
|
||||
return Discourse.Group.create(g);
|
||||
});
|
||||
}
|
||||
|
||||
if (json.user.invited_by) {
|
||||
json.user.invited_by = Discourse.User.create(json.user.invited_by);
|
||||
}
|
||||
|
||||
if (!Em.isEmpty(json.user.featured_user_badge_ids)) {
|
||||
var userBadgesMap = {};
|
||||
Discourse.UserBadge.createFromJson(json).forEach(function(userBadge) {
|
||||
userBadgesMap[ userBadge.get('id') ] = userBadge;
|
||||
});
|
||||
json.user.featured_user_badges = json.user.featured_user_badge_ids.map(function(id) {
|
||||
return userBadgesMap[id];
|
||||
});
|
||||
}
|
||||
|
||||
user.setProperties(json.user);
|
||||
return user;
|
||||
});
|
||||
|
||||
@@ -1,16 +1,31 @@
|
||||
{{#if model}}
|
||||
{{#link-to 'user' user}}{{boundAvatar model imageSize="huge"}}{{/link-to}}
|
||||
|
||||
<h1 {{bind-attr class="staff new_user"}}><a {{bind-attr href="usernameUrl"}}>{{username}}</a></h1>
|
||||
{{#if showName}}
|
||||
<h2><a {{bind-attr href="usernameUrl"}}>{{name}}</a></h2>
|
||||
{{/if}}
|
||||
<div class="names">
|
||||
<h1 {{bind-attr class="staff new_user"}}><a {{bind-attr href="usernameUrl"}}>{{username}}</a></h1>
|
||||
{{#if showName}}
|
||||
<h2><a {{bind-attr href="usernameUrl"}}>{{name}}</a></h2>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#if user}}
|
||||
<h3>{{i18n last_post}} {{unboundDate path="user.last_posted_at" leaveAgo="true"}}</h3>
|
||||
<h3>{{i18n joined}} {{unboundDate path="user.created_at" leaveAgo="true"}}</h3>
|
||||
<div class="metadata">
|
||||
<h3>{{i18n last_post}} {{unboundDate path="user.last_posted_at" leaveAgo="true"}}</h3>
|
||||
<h3>{{i18n joined}} {{unboundDate path="user.created_at" leaveAgo="true"}}</h3>
|
||||
{{groups-list groups=user.custom_groups}}
|
||||
</div>
|
||||
|
||||
{{groups-list groups=user.custom_groups}}
|
||||
{{#if showBadges}}
|
||||
<div class="badge-section">
|
||||
<h3>{{i18n badges.badge_count count=user.badge_count}}</h3>
|
||||
{{#each user.featured_user_badges}}
|
||||
<span class="badge">{{badge.name}}</span>
|
||||
{{/each}}
|
||||
{{#if showMoreBadges}}
|
||||
<span class="btn more-badges">{{i18n badges.more_badges count=moreBadgesCount}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class='bottom'>
|
||||
{{#if user.bio_cooked}}<div class='bio'>{{{user.bio_cooked}}}</div>{{/if}}
|
||||
|
||||
@@ -10,7 +10,7 @@ var clickOutsideEventName = "mousedown.outside-poster-expansion";
|
||||
|
||||
Discourse.PosterExpansionView = Discourse.View.extend({
|
||||
elementId: 'poster-expansion',
|
||||
classNameBindings: ['controller.visible::hidden'],
|
||||
classNameBindings: ['controller.visible::hidden', 'controller.showBadges'],
|
||||
|
||||
// Position the expansion when the post changes
|
||||
_visibleChanged: function() {
|
||||
|
||||
Reference in New Issue
Block a user