diff --git a/app/assets/javascripts/discourse/controllers/user-card.js.es6 b/app/assets/javascripts/discourse/controllers/user-card.js.es6 index 90cfd460139..1557cc195b5 100644 --- a/app/assets/javascripts/discourse/controllers/user-card.js.es6 +++ b/app/assets/javascripts/discourse/controllers/user-card.js.es6 @@ -13,23 +13,20 @@ export default ObjectController.extend({ postStream: Em.computed.alias('controllers.topic.postStream'), enoughPostsForFiltering: Em.computed.gte('participant.post_count', 2), viewingTopic: Em.computed.match('controllers.application.currentPath', /^topic\./), + viewingAdmin: Em.computed.match('controllers.application.currentPath', /^admin\./), showFilter: Em.computed.and('viewingTopic', 'postStream.hasNoFilters', 'enoughPostsForFiltering'), - - // showFilter: Em.computed.and('postStream.hasNoFilters', 'enoughPostsForFiltering'), showName: Discourse.computed.propertyNotEqual('user.name', 'user.username'), - hasUserFilters: Em.computed.gt('postStream.userFilters.length', 0), - isSuspended: Em.computed.notEmpty('user.suspend_reason'), - showBadges: Discourse.computed.setting('enable_badges'), + showMoreBadges: Em.computed.gt('moreBadgesCount', 0), + canDelete: Em.computed.not("user.deleteForbidden"), + showDelete: Em.computed.and("viewingAdmin", "showName", "canDelete"), 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), - hasCardBadgeImage: function() { var img = this.get('user.card_badge.image'); return img && img.indexOf('fa-') !== 0; @@ -77,7 +74,7 @@ export default ObjectController.extend({ self.set('cardTarget', target); Discourse.User.findByUsername(username).then(function (user) { - self.setProperties({ user: user, avatar: user, visible: true}); + self.setProperties({ user: Discourse.AdminUser.create(user), avatar: user, visible: true}); self.appEvents.trigger('usercard:shown'); }).finally(function(){ self.set('userLoading', null); @@ -101,6 +98,10 @@ export default ObjectController.extend({ postStream.cancelFilter(); postStream.refresh(); this.close(); + }, + + deleteUser: function(user) { + user.destroy({ deletePosts: true }); } } diff --git a/app/assets/javascripts/discourse/templates/user-card.hbs b/app/assets/javascripts/discourse/templates/user-card.hbs index b5dc6f39c5b..c4326652fa8 100644 --- a/app/assets/javascripts/discourse/templates/user-card.hbs +++ b/app/assets/javascripts/discourse/templates/user-card.hbs @@ -27,11 +27,15 @@ {{/if}} {{#if showFilter}} -