From ba10327cc823317b3b530fa1d4e46da81ea2132a Mon Sep 17 00:00:00 2001
From: Robin Ward <robin.ward@gmail.com>
Date: Fri, 25 Mar 2016 12:04:26 -0400
Subject: [PATCH] FIX: Minor badge page issues

---
 .../discourse/controllers/badges/show.js.es6  | 38 +++++++++----------
 .../discourse/templates/badges/show.hbs       |  8 ++--
 2 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/app/assets/javascripts/discourse/controllers/badges/show.js.es6 b/app/assets/javascripts/discourse/controllers/badges/show.js.es6
index 1af975fcdac..1346bf64364 100644
--- a/app/assets/javascripts/discourse/controllers/badges/show.js.es6
+++ b/app/assets/javascripts/discourse/controllers/badges/show.js.es6
@@ -1,5 +1,5 @@
 import UserBadge from 'discourse/models/user-badge';
-import computed from 'ember-addons/ember-computed-decorators';
+import { default as computed, observes } from 'ember-addons/ember-computed-decorators';
 
 export default Ember.Controller.extend({
   queryParams: ['username'],
@@ -7,19 +7,17 @@ export default Ember.Controller.extend({
   userBadges: null,
   needs: ["application"],
 
-  user: function() {
-    if (this.get("username")) {
+  @computed('username')
+  user(username) {
+    if (username) {
       return this.get('userBadges')[0].get('user');
     }
-  }.property("username"),
+  },
 
-  grantCount: function() {
-    if (this.get("username")) {
-      return this.get('userBadges.grant_count');
-    } else {
-      return this.get('model.grant_count');
-    }
-  }.property('username', 'model', 'userBadges'),
+  @computed('username', 'model.grant_count', 'userBadges.grant_count')
+  grantCount(username, modelCount, userCount) {
+    return username ? userCount : modelCount;
+  },
 
   actions: {
     loadMore() {
@@ -37,22 +35,20 @@ export default Ember.Controller.extend({
     }
   },
 
-  @computed('noMoreBadges', 'model.grant_count', 'userBadges.length')
+  @computed('noMoreBadges', 'grantCount', 'userBadges.length')
   canLoadMore(noMoreBadges, grantCount, userBadgeLength) {
     if (noMoreBadges) { return false; }
     return grantCount > (userBadgeLength || 0);
   },
 
-  _showFooter: function() {
+  @observes('canLoadMore')
+  _showFooter() {
     this.set("controllers.application.showFooter", !this.get("canLoadMore"));
-  }.observes("canLoadMore"),
+  },
 
-  longDescription: function(){
-    return Discourse.Emoji.unescape(this.get('model.long_description'));
-  }.property('model.long_description'),
-
-  showLongDescription: function(){
-    return this.get('model.long_description');
-  }.property('userBadges')
+  @computed('model.long_description')
+  longDescription(modelLongDesc) {
+    return Discourse.Emoji.unescape(modelLongDesc);
+  }
 
 });
diff --git a/app/assets/javascripts/discourse/templates/badges/show.hbs b/app/assets/javascripts/discourse/templates/badges/show.hbs
index f762e6dfe62..c60cbb216de 100644
--- a/app/assets/javascripts/discourse/templates/badges/show.hbs
+++ b/app/assets/javascripts/discourse/templates/badges/show.hbs
@@ -5,10 +5,10 @@
     {{model.displayName}}
   </h1>
 
-  {{#if showLongDescription}}
-  <div class='long-description banner'>
-    {{{longDescription}}}
-  </div>
+  {{#if longDescription}}
+    <div class='long-description banner'>
+      {{{longDescription}}}
+    </div>
   {{/if}}
 
   <div class='badges-listing'>