From 42248a7164b63a0b0a5877531442b8d9b9365d8b Mon Sep 17 00:00:00 2001
From: Robin Ward <robin.ward@gmail.com>
Date: Mon, 20 May 2013 15:27:58 -0400
Subject: [PATCH] Removed many unnecessary paths that included `content.x` when
 just `x` would do.

---
 .../controllers/admin_customize_controller.js | 16 ++--
 .../controllers/admin_flags_controller.js     | 14 ++--
 .../javascripts/admin/models/flagged_post.js  |  8 +-
 .../admin/routes/admin_api_route.js           | 13 ++--
 .../admin/routes/admin_customize_route.js     | 10 +--
 .../admin/routes/admin_flags_active_route.js  | 10 +--
 .../admin/routes/admin_flags_old_route.js     |  8 +-
 .../admin/templates/api.js.handlebars         |  8 +-
 .../admin/templates/customize.js.handlebars   | 18 ++---
 .../admin/templates/email_logs.js.handlebars  | 12 +--
 .../admin/templates/flags.js.handlebars       |  4 +-
 .../templates/site_content_edit.js.handlebars |  8 +-
 .../templates/site_settings.js.handlebars     |  2 +-
 .../admin/templates/user.js.handlebars        | 74 +++++++++----------
 .../admin/templates/users_list.js.handlebars  |  4 +-
 .../discourse/controllers/topic_controller.js |  1 +
 .../discourse/templates/history.js.handlebars | 56 +++++++-------
 .../discourse/templates/post.js.handlebars    |  2 +-
 .../discourse/templates/topic.js.handlebars   |  2 +-
 .../templates/topic_admin_menu.js.handlebars  | 10 +--
 .../topic_summary/info.js.handlebars          |  8 +-
 .../templates/user/activity.js.handlebars     | 30 ++++----
 .../templates/user/invited.js.handlebars      | 16 ++--
 .../user/private_messages.js.handlebars       |  6 +-
 24 files changed, 167 insertions(+), 173 deletions(-)

diff --git a/app/assets/javascripts/admin/controllers/admin_customize_controller.js b/app/assets/javascripts/admin/controllers/admin_customize_controller.js
index bd72a1820..fd9907dcd 100644
--- a/app/assets/javascripts/admin/controllers/admin_customize_controller.js
+++ b/app/assets/javascripts/admin/controllers/admin_customize_controller.js
@@ -6,7 +6,7 @@
   @namespace Discourse
   @module Discourse
 **/
-Discourse.AdminCustomizeController = Ember.Controller.extend({
+Discourse.AdminCustomizeController = Ember.ArrayController.extend({
 
   /**
     Create a new customization style
@@ -15,8 +15,8 @@ Discourse.AdminCustomizeController = Ember.Controller.extend({
   **/
   newCustomization: function() {
     var item = Discourse.SiteCustomization.create({name: Em.String.i18n("admin.customize.new_style")});
-    this.get('content').pushObject(item);
-    this.set('content.selectedItem', item);
+    this.pushObject(item);
+    this.set('selectedItem', item);
   },
 
   /**
@@ -26,7 +26,7 @@ Discourse.AdminCustomizeController = Ember.Controller.extend({
     @param {Discourse.SiteCustomization} style The style we are selecting
   **/
   selectStyle: function(style) {
-    this.set('content.selectedItem', style);
+    this.set('selectedItem', style);
   },
 
   /**
@@ -35,7 +35,7 @@ Discourse.AdminCustomizeController = Ember.Controller.extend({
     @method save
   **/
   save: function() {
-    this.get('content.selectedItem').save();
+    this.get('selectedItem').save();
   },
 
   /**
@@ -48,10 +48,10 @@ Discourse.AdminCustomizeController = Ember.Controller.extend({
     return bootbox.confirm(Em.String.i18n("admin.customize.delete_confirm"), Em.String.i18n("no_value"), Em.String.i18n("yes_value"), function(result) {
       var selected;
       if (result) {
-        selected = _this.get('content.selectedItem');
+        selected = _this.get('selectedItem');
         selected.destroy();
-        _this.set('content.selectedItem', null);
-        return _this.get('content').removeObject(selected);
+        _this.set('selectedItem', null);
+        return _this.removeObject(selected);
       }
     });
   }
diff --git a/app/assets/javascripts/admin/controllers/admin_flags_controller.js b/app/assets/javascripts/admin/controllers/admin_flags_controller.js
index 48d397336..60a88bd38 100644
--- a/app/assets/javascripts/admin/controllers/admin_flags_controller.js
+++ b/app/assets/javascripts/admin/controllers/admin_flags_controller.js
@@ -6,7 +6,7 @@
   @namespace Discourse
   @module Discourse
 **/
-Discourse.AdminFlagsController = Ember.Controller.extend({
+Discourse.AdminFlagsController = Ember.ArrayController.extend({
 
   /**
     Clear all flags on a post
@@ -17,10 +17,10 @@ Discourse.AdminFlagsController = Ember.Controller.extend({
   clearFlags: function(item) {
     var _this = this;
     item.clearFlags().then((function() {
-      _this.content.removeObject(item);
-    }), (function() {
+      _this.removeObject(item);
+    }), function() {
       bootbox.alert(Em.String.i18n("admin.flags.error"));
-    }));
+    });
   },
 
   /**
@@ -32,10 +32,10 @@ Discourse.AdminFlagsController = Ember.Controller.extend({
   deletePost: function(item) {
     var _this = this;
     item.deletePost().then((function() {
-      _this.content.removeObject(item);
-    }), (function() {
+      _this.removeObject(item);
+    }), function() {
       bootbox.alert(Em.String.i18n("admin.flags.error"));
-    }));
+    });
   },
 
   /**
diff --git a/app/assets/javascripts/admin/models/flagged_post.js b/app/assets/javascripts/admin/models/flagged_post.js
index 4b793e9cd..981dd287b 100644
--- a/app/assets/javascripts/admin/models/flagged_post.js
+++ b/app/assets/javascripts/admin/models/flagged_post.js
@@ -8,7 +8,7 @@
 **/
 Discourse.FlaggedPost = Discourse.Post.extend({
 
-  flaggers: (function() {
+  flaggers: function() {
     var r,
       _this = this;
     r = [];
@@ -16,9 +16,9 @@ Discourse.FlaggedPost = Discourse.Post.extend({
       return r.push(_this.userLookup[a.user_id]);
     });
     return r;
-  }).property(),
+  }.property(),
 
-  messages: (function() {
+  messages: function() {
     var r,
       _this = this;
     r = [];
@@ -32,7 +32,7 @@ Discourse.FlaggedPost = Discourse.Post.extend({
       }
     });
     return r;
-  }).property(),
+  }.property(),
 
   lastFlagged: function() {
     return this.post_actions[0].created_at;
diff --git a/app/assets/javascripts/admin/routes/admin_api_route.js b/app/assets/javascripts/admin/routes/admin_api_route.js
index 6355b7d41..5e534ac3e 100644
--- a/app/assets/javascripts/admin/routes/admin_api_route.js
+++ b/app/assets/javascripts/admin/routes/admin_api_route.js
@@ -7,14 +7,13 @@
   @module Discourse
 **/
 Discourse.AdminApiRoute = Discourse.Route.extend({
-  renderTemplate: function() {
-    this.render({into: 'admin/templates/admin'});
+
+  model: function() {
+    return Discourse.AdminApi.find();
   },
 
-  setupController: function(controller, model) {
-    // in case you are wondering, model never gets called for link_to
-    Discourse.AdminApi.find().then(function(result){
-      controller.set('content', result);
-    });
+  renderTemplate: function() {
+    this.render({into: 'admin/templates/admin'});
   }
+
 });
diff --git a/app/assets/javascripts/admin/routes/admin_customize_route.js b/app/assets/javascripts/admin/routes/admin_customize_route.js
index 5c726ff82..6e721b72e 100644
--- a/app/assets/javascripts/admin/routes/admin_customize_route.js
+++ b/app/assets/javascripts/admin/routes/admin_customize_route.js
@@ -8,12 +8,12 @@
 **/
 Discourse.AdminCustomizeRoute = Discourse.Route.extend({
 
-  renderTemplate: function() {
-    this.render({into: 'admin/templates/admin'});
+  model: function() {
+    return Discourse.SiteCustomization.findAll();
   },
 
-  setupController: function(controller, model) {
-    // in case you are wondering, model never gets called for link_to
-    controller.set('content',Discourse.SiteCustomization.findAll());
+  renderTemplate: function() {
+    this.render({into: 'admin/templates/admin'});
   }
+
 });
diff --git a/app/assets/javascripts/admin/routes/admin_flags_active_route.js b/app/assets/javascripts/admin/routes/admin_flags_active_route.js
index 9ae171a0a..886de964c 100644
--- a/app/assets/javascripts/admin/routes/admin_flags_active_route.js
+++ b/app/assets/javascripts/admin/routes/admin_flags_active_route.js
@@ -1,20 +1,16 @@
 /**
   Handles routes related to viewing active flags.
 
-  @class AdminFlagsActiveRoute    
+  @class AdminFlagsActiveRoute
   @extends Discourse.Route
   @namespace Discourse
   @module Discourse
 **/
 Discourse.AdminFlagsActiveRoute = Discourse.Route.extend({
 
-  model: function() {
-    return Discourse.FlaggedPost.findAll('active');
-  },
-
-  setupController: function(controller, model) {
+  setupController: function() {
     var adminFlagsController = this.controllerFor('adminFlags');
-    adminFlagsController.set('content', model);
+    adminFlagsController.set('content', Discourse.FlaggedPost.findAll('active'));
     adminFlagsController.set('query', 'active');
   }
 
diff --git a/app/assets/javascripts/admin/routes/admin_flags_old_route.js b/app/assets/javascripts/admin/routes/admin_flags_old_route.js
index df967f53c..04a815d56 100644
--- a/app/assets/javascripts/admin/routes/admin_flags_old_route.js
+++ b/app/assets/javascripts/admin/routes/admin_flags_old_route.js
@@ -1,20 +1,16 @@
 /**
   Handles routes related to viewing old flags.
 
-  @class AdminFlagsOldRoute    
+  @class AdminFlagsOldRoute
   @extends Discourse.Route
   @namespace Discourse
   @module Discourse
 **/
 Discourse.AdminFlagsOldRoute = Discourse.Route.extend({
-  
-  model: function() {
-    return Discourse.FlaggedPost.findAll('old');
-  },
 
   setupController: function(controller, model) {
     var adminFlagsController = this.controllerFor('adminFlags');
-    adminFlagsController.set('content', model);
+    adminFlagsController.set('content', Discourse.FlaggedPost.findAll('old'));
     adminFlagsController.set('query', 'old');
   }
 
diff --git a/app/assets/javascripts/admin/templates/api.js.handlebars b/app/assets/javascripts/admin/templates/api.js.handlebars
index df5c724e9..7ef832040 100644
--- a/app/assets/javascripts/admin/templates/api.js.handlebars
+++ b/app/assets/javascripts/admin/templates/api.js.handlebars
@@ -1,9 +1,9 @@
 <h3>{{i18n admin.api.long_title}}</h3>
-{{#if content.keyExists}}
-  <strong>{{i18n admin.api.key}}:</strong> {{content.key}}
-  <button {{action regenerateKey target="content"}}>{{i18n admin.api.regenerate}}</button>
+{{#if keyExists}}
+  <strong>{{i18n admin.api.key}}:</strong> {{key}}
+  <button {{action regenerateKey target="model"}}>{{i18n admin.api.regenerate}}</button>
   <p>{{{i18n admin.api.note_html}}}</p>
 {{else}}
   <p>{{{i18n admin.api.info_html}}}</p>
-  <button {{action generateKey target="content"}}>{{i18n admin.api.generate}}</button>
+  <button {{action generateKey target="model"}}>{{i18n admin.api.generate}}</button>
 {{/if}}
diff --git a/app/assets/javascripts/admin/templates/customize.js.handlebars b/app/assets/javascripts/admin/templates/customize.js.handlebars
index 44fcd9093..9b544ecbb 100644
--- a/app/assets/javascripts/admin/templates/customize.js.handlebars
+++ b/app/assets/javascripts/admin/templates/customize.js.handlebars
@@ -2,7 +2,7 @@
 <div class='content-list span6'>
   <h3>{{i18n admin.customize.long_title}}</h3>
   <ul>
-    {{#each content}}
+    {{#each model}}
     <li><a {{action selectStyle this}} {{bindAttr class="this.selected:active"}}>{{this.description}}</a></li>
     {{/each}}
   </ul>
@@ -10,7 +10,7 @@
 </div>
 
 
-{{#if content.selectedItem}}
+{{#if selectedItem}}
 <div class='current-style'>
   <div class='admin-controls'>
     <ul class="nav nav-pills">
@@ -23,7 +23,7 @@
     </ul>
   </div>
 
-  {{#with content.selectedItem}}
+  {{#with selectedItem}}
     {{textField class="style-name" value=name}}
     {{#if view.headerActive}}
       {{view Discourse.AceEditorView contentBinding="header" mode="html"}}
@@ -34,18 +34,18 @@
   {{/with}}
   <br>
   <div class='status-actions'>
-    <span>{{i18n admin.customize.override_default}} {{view Ember.Checkbox checkedBinding="content.selectedItem.override_default_style"}}</span>
-    <span>{{i18n admin.customize.enabled}}  {{view Ember.Checkbox checkedBinding="content.selectedItem.enabled"}}</span>
-    {{#unless content.selectedItem.changed}}
-    <a class='preview-link' {{bindAttr href="content.selectedItem.previewUrl"}} target='_blank'>{{i18n admin.customize.preview}}</a>
+    <span>{{i18n admin.customize.override_default}} {{view Ember.Checkbox checkedBinding="selectedItem.override_default_style"}}</span>
+    <span>{{i18n admin.customize.enabled}}  {{view Ember.Checkbox checkedBinding="selectedItem.enabled"}}</span>
+    {{#unless selectedItem.changed}}
+    <a class='preview-link' {{bindAttr href="selectedItem.previewUrl"}} target='_blank'>{{i18n admin.customize.preview}}</a>
     |
     <a href="/?preview-style=" target='_blank'>{{i18n admin.customize.undo_preview}}</a><br>
     {{/unless}}
   </div>
 
   <div class='buttons'>
-    <button {{action save}} {{bindAttr disabled="content.selectedItem.disableSave"}} class='btn'>{{i18n admin.customize.save}}</button>
-    <span class='saving'>{{content.selectedItem.savingStatus}}</span>
+    <button {{action save}} {{bindAttr disabled="selectedItem.disableSave"}} class='btn'>{{i18n admin.customize.save}}</button>
+    <span class='saving'>{{selectedItem.savingStatus}}</span>
     <a {{action destroy}} class='delete-link'>{{i18n admin.customize.delete}}</a>
   </div>
 
diff --git a/app/assets/javascripts/admin/templates/email_logs.js.handlebars b/app/assets/javascripts/admin/templates/email_logs.js.handlebars
index 513db67dd..4d5647c11 100644
--- a/app/assets/javascripts/admin/templates/email_logs.js.handlebars
+++ b/app/assets/javascripts/admin/templates/email_logs.js.handlebars
@@ -19,17 +19,17 @@
   {{#if model.length}}
     {{#group}}
       {{#collection contentBinding="model" tagName="tbody" itemTagName="tr"}}
-          <td>{{date view.content.created_at}}</td>
+          <td>{{date created_at}}</td>
           <td>
-            {{#if view.content.user}}
-              {{#linkTo 'adminUser' view.content.user}}{{avatar view.content.user imageSize="tiny"}}{{/linkTo}}
-              {{#linkTo 'adminUser' view.content.user}}{{view.content.user.username}}{{/linkTo}}
+            {{#if user}}
+              {{#linkTo 'adminUser' user}}{{avatar user imageSize="tiny"}}{{/linkTo}}
+              {{#linkTo 'adminUser' user}}{{user.username}}{{/linkTo}}
             {{else}}
               &mdash;
             {{/if}}
           </td>
-          <td><a href='mailto:{{unbound view.content.to_address}}'>{{view.content.to_address}}</a></td>
-          <td>{{view.content.email_type}}</td>
+          <td><a href='mailto:{{unbound to_address}}'>{{to_address}}</a></td>
+          <td>{{email_type}}</td>
       {{/collection}}
     {{/group}}
   {{/if}}
diff --git a/app/assets/javascripts/admin/templates/flags.js.handlebars b/app/assets/javascripts/admin/templates/flags.js.handlebars
index 9030c0e5d..4e8f84e21 100644
--- a/app/assets/javascripts/admin/templates/flags.js.handlebars
+++ b/app/assets/javascripts/admin/templates/flags.js.handlebars
@@ -27,8 +27,8 @@
       <td class='last-flagged'>{{date lastFlagged}}</td>
       <td class='action'>
         {{#if adminActiveFlagsView}}
-        <button title='{{i18n admin.flags.clear_title}}' class='btn' {{action clearFlags this}}>{{i18n admin.flags.clear}}</button>
-        <button title='{{i18n admin.flags.delete_title}}' class='btn' {{action deletePost this}}>{{i18n admin.flags.delete}}</button>
+          <button title='{{i18n admin.flags.clear_title}}' class='btn' {{action clearFlags this}}>{{i18n admin.flags.clear}}</button>
+          <button title='{{i18n admin.flags.delete_title}}' class='btn' {{action deletePost this}}>{{i18n admin.flags.delete}}</button>
         {{/if}}
       </td>
     </tr>
diff --git a/app/assets/javascripts/admin/templates/site_content_edit.js.handlebars b/app/assets/javascripts/admin/templates/site_content_edit.js.handlebars
index fa7499b9f..1c182978c 100644
--- a/app/assets/javascripts/admin/templates/site_content_edit.js.handlebars
+++ b/app/assets/javascripts/admin/templates/site_content_edit.js.handlebars
@@ -3,19 +3,19 @@
   <p class='description'>{{description}}</p>
 
   {{#if markdown}}
-    {{view Discourse.PagedownEditor valueBinding="content.content"}}
+    {{view Discourse.PagedownEditor valueBinding="model.content"}}
   {{/if}}
 
   {{#if plainText}}
-    {{textarea value=content.content class="plain"}}
+    {{textarea value=model.content class="plain"}}
   {{/if}}
 
   {{#if html}}
-    {{view Discourse.AceEditorView contentBinding="content.content" mode="html"}}
+    {{view Discourse.AceEditorView contentBinding="model.content" mode="html"}}
   {{/if}}
 
   {{#if css}}
-    {{view Discourse.AceEditorView contentBinding="content.content" mode="css"}}
+    {{view Discourse.AceEditorView contentBinding="model.content" mode="css"}}
   {{/if}}
 
 
diff --git a/app/assets/javascripts/admin/templates/site_settings.js.handlebars b/app/assets/javascripts/admin/templates/site_settings.js.handlebars
index f8e2ceb3e..14ac8847d 100644
--- a/app/assets/javascripts/admin/templates/site_settings.js.handlebars
+++ b/app/assets/javascripts/admin/templates/site_settings.js.handlebars
@@ -14,4 +14,4 @@
 {{collection contentBinding="filteredContent" classNames="form-horizontal settings" itemViewClass="Discourse.SiteSettingView"}}
 
 <!-- will remove as soon as I figure out what is going on -->
-<p><small>Diagnostics: last_message_processed {{content.diags.last_message_processed}}</small></p>
+<p><small>Diagnostics: last_message_processed {{diags.last_message_processed}}</small></p>
diff --git a/app/assets/javascripts/admin/templates/user.js.handlebars b/app/assets/javascripts/admin/templates/user.js.handlebars
index dd016ec62..158522828 100644
--- a/app/assets/javascripts/admin/templates/user.js.handlebars
+++ b/app/assets/javascripts/admin/templates/user.js.handlebars
@@ -2,13 +2,13 @@
 
   <div class='display-row'>
     <div class='field'>{{i18n user.username.title}}</div>
-    <div class='value'>{{content.username}}</div>
+    <div class='value'>{{username}}</div>
     <div class='controls'>
       {{#linkTo 'user.activity' content class="btn"}}
         <i class='icon icon-user'></i>
         {{i18n admin.user.show_public_profile}}
       {{/linkTo}}
-      {{#if content.can_impersonate}}
+      {{#if can_impersonate}}
           <button class='btn' {{action impersonate target="content"}}>
             <i class='icon icon-screenshot'></i>
             {{i18n admin.user.impersonate}}
@@ -19,7 +19,7 @@
 
   <div class='display-row'>
     <div class='field'>{{i18n user.email.title}}</div>
-    <div class='value'><a href="mailto:{{unbound content.email}}">{{content.email}}</a></div>
+    <div class='value'><a href="mailto:{{unbound email}}">{{email}}</a></div>
   </div>
 
   <div class='display-row' style='height: 50px'>
@@ -29,7 +29,7 @@
 
   <div class='display-row' style='height: 50px'>
     <div class='field'>{{i18n user.ip_address.title}}</div>
-    <div class='value'>{{content.ip_address}}</div>
+    <div class='value'>{{ip_address}}</div>
     <div class='controls'>
       {{#if Discourse.currentUser.admin}}
       <button class='btn' {{action refreshBrowsers target="content"}}>
@@ -48,18 +48,18 @@
   <div class='display-row'>
     <div class='field'>{{i18n admin.users.approved}}</div>
     <div class='value'>
-      {{#if content.approved}}
+      {{#if approved}}
         {{i18n admin.user.approved_by}}
 
-        {{#linkTo 'adminUser' content.approved_by}}{{avatar approved_by imageSize="small"}}{{/linkTo}}
-        {{#linkTo 'adminUser' content.approved_by}}{{content.approved_by.username}}{{/linkTo}}
+        {{#linkTo 'adminUser' approved_by}}{{avatar approved_by imageSize="small"}}{{/linkTo}}
+        {{#linkTo 'adminUser' approved_by}}{{approved_by.username}}{{/linkTo}}
       {{else}}
         {{i18n no_value}}
       {{/if}}
 
     </div>
     <div class='controls'>
-      {{#if content.can_approve}}
+      {{#if can_approve}}
         <button class='btn' {{action approve target="content"}}>
           <i class='icon icon-ok'></i>
           {{i18n admin.user.approve}}
@@ -71,25 +71,25 @@
   <div class='display-row'>
     <div class='field'>{{i18n admin.users.active}}</div>
     <div class='value'>
-      {{#if content.active}}
+      {{#if active}}
         {{i18n yes_value}}
       {{else}}
         {{i18n no_value}}
       {{/if}}
     </div>
     <div class='controls'>
-      {{#if content.active}}
-        {{#if content.can_deactivate}}
+      {{#if active}}
+        {{#if can_deactivate}}
           <button class='btn' {{action deactivate target="content"}}>{{i18n admin.user.deactivate_account}}</button>
         {{/if}}
       {{else}}
-        {{#if content.can_send_activation_email}}
+        {{#if can_send_activation_email}}
           <button class='btn' {{action sendActivationEmail target="content"}}>
             <i class='icon icon-envelope-alt'></i>
             {{i18n admin.user.send_activation_email}}
           </button>
         {{/if}}
-        {{#if content.can_activate}}
+        {{#if can_activate}}
           <button class='btn' {{action activate target="content"}}>
             <i class='icon icon-ok'></i>
             {{i18n admin.user.activate}}
@@ -101,15 +101,15 @@
 
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.admin}}</div>
-    <div class='value'>{{content.admin}}</div>
+    <div class='value'>{{admin}}</div>
     <div class='controls'>
-      {{#if content.can_revoke_admin}}
+      {{#if can_revoke_admin}}
         <button class='btn' {{action revokeAdmin target="content"}}>
           <i class='icon icon-trophy'></i>
           {{i18n admin.user.revoke_admin}}
         </button>
       {{/if}}
-      {{#if content.can_grant_admin}}
+      {{#if can_grant_admin}}
         <button class='btn' {{action grantAdmin target="content"}}>
           <i class='icon icon-trophy'></i>
           {{i18n admin.user.grant_admin}}
@@ -120,15 +120,15 @@
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.moderator}}</div>
-    <div class='value'>{{content.moderator}}</div>
+    <div class='value'>{{moderator}}</div>
     <div class='controls'>
-      {{#if content.can_revoke_moderation}}
+      {{#if can_revoke_moderation}}
         <button class='btn' {{action revokeModeration target="content"}}>
           <i class='icon icon-magic'></i>
           {{i18n admin.user.revoke_moderation}}
         </button>
       {{/if}}
-      {{#if content.can_grant_moderation}}
+      {{#if can_grant_moderation}}
         <button class='btn' {{action grantModeration target="content"}}>
           <i class='icon icon-magic'></i>
           {{i18n admin.user.grant_moderation}}
@@ -139,20 +139,20 @@
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n trust_level}}</div>
-    <div class='value'>{{content.trustLevel.name}}</div>
+    <div class='value'>{{trustLevel.name}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.banned}}</div>
-    <div class='value'>{{content.isBanned}}</div>
+    <div class='value'>{{isBanned}}</div>
     <div class='controls'>
-    {{#if content.isBanned}}
+    {{#if isBanned}}
       <button class='btn btn-danger' {{action unban target="content"}}>
         <i class='icon icon-ban-circle'></i>
         {{i18n admin.user.unban}}
       </button>
-      {{content.banDuration}}
+      {{banDuration}}
     {{else}}
-      {{#if content.canBan}}
+      {{#if canBan}}
         <button class='btn btn-danger' {{action ban target="content"}}>
           <i class='icon icon-ban-circle'></i>
           {{i18n admin.user.ban}}
@@ -168,29 +168,29 @@
 
   <div class='display-row'>
     <div class='field'>{{i18n created}}</div>
-    <div class='value'>{{{content.created_at_age}}}</div>
+    <div class='value'>{{{created_at_age}}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.users.last_emailed}}</div>
-    <div class='value'>{{{content.last_emailed_age}}}</div>
+    <div class='value'>{{{last_emailed_age}}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n last_seen}}</div>
-    <div class='value'>{{{content.last_seen_age}}}</div>
+    <div class='value'>{{{last_seen_age}}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.like_count}}</div>
-    <div class='value'>{{content.like_count}}</div>
+    <div class='value'>{{like_count}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.topics_entered}}</div>
-    <div class='value'>{{content.topics_entered}}</div>
+    <div class='value'>{{topics_entered}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.post_count}}</div>
-    <div class='value'>{{content.post_count}}</div>
+    <div class='value'>{{post_count}}</div>
     <div class='controls'>
-      {{#if content.can_delete_all_posts}}
+      {{#if can_delete_all_posts}}
         <button class='btn btn-danger' {{action deleteAllPosts target="content"}}>
           <i class='icon icon-trash'></i>
           {{i18n admin.user.delete_all_posts}}
@@ -200,27 +200,27 @@
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.posts_read_count}}</div>
-    <div class='value'>{{content.posts_read_count}}</div>
+    <div class='value'>{{posts_read_count}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.flags_given_count}}</div>
-    <div class='value'>{{content.flags_given_count}}</div>
+    <div class='value'>{{flags_given_count}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.flags_received_count}}</div>
-    <div class='value'>{{content.flags_received_count}}</div>
+    <div class='value'>{{flags_received_count}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.private_topics_count}}</div>
-    <div class='value'>{{content.private_topics_count}}</div>
+    <div class='value'>{{private_topics_count}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n admin.user.time_read}}</div>
-    <div class='value'>{{{content.time_read}}}</div>
+    <div class='value'>{{{time_read}}}</div>
   </div>
   <div class='display-row'>
     <div class='field'>{{i18n user.invited.days_visited}}</div>
-    <div class='value'>{{{content.days_visited}}}</div>
+    <div class='value'>{{{days_visited}}}</div>
   </div>
 </section>
 
diff --git a/app/assets/javascripts/admin/templates/users_list.js.handlebars b/app/assets/javascripts/admin/templates/users_list.js.handlebars
index d7e25942b..f35285cbe 100644
--- a/app/assets/javascripts/admin/templates/users_list.js.handlebars
+++ b/app/assets/javascripts/admin/templates/users_list.js.handlebars
@@ -25,7 +25,7 @@
 {{#if loading}}
   <div class='admin-loading'>{{i18n loading}}</div>
 {{else}}
-  {{#if content.length}}
+  {{#if model.length}}
     <table class='table'>
       <tr>
         {{#if showApproval}}
@@ -47,7 +47,7 @@
 
       </tr>
 
-      {{#each content}}
+      {{#each model}}
         <tr {{bindAttr class="selected"}}>
           {{#if showApproval}}
             <td>
diff --git a/app/assets/javascripts/discourse/controllers/topic_controller.js b/app/assets/javascripts/discourse/controllers/topic_controller.js
index 29cf64e8e..0f941d238 100644
--- a/app/assets/javascripts/discourse/controllers/topic_controller.js
+++ b/app/assets/javascripts/discourse/controllers/topic_controller.js
@@ -462,6 +462,7 @@ Discourse.TopicController = Discourse.ObjectController.extend(Discourse.Selected
 
   showHistory: function(post) {
     var modalController = this.get('controllers.modal');
+
     if (modalController) {
       modalController.show(Discourse.HistoryView.create({
         originalPost: post
diff --git a/app/assets/javascripts/discourse/templates/history.js.handlebars b/app/assets/javascripts/discourse/templates/history.js.handlebars
index 2381383c0..b770e2689 100644
--- a/app/assets/javascripts/discourse/templates/history.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/history.js.handlebars
@@ -3,40 +3,42 @@
   {{#if view.loading}}
     {{i18n loading}}
   {{else}}
-    <div class='span8'>
+    {{#if view.versions}}
+      <div class='span8'>
 
-      {{view Ember.Select
-        contentBinding="view.versions"
-        optionLabelPath="content.description"
-        optionValuePath="content.number"
-        selectionBinding="view.versionLeft"}}
+        {{view Ember.Select
+          contentBinding="view.versions"
+          optionLabelPath="content.description"
+          optionValuePath="content.number"
+          selectionBinding="view.versionLeft"}}
+
+        <div class='contents'>
+          {{#if view.postLeft}}
+            {{{view.postLeft.cooked}}}
+          {{else}}
+            <div class='history-loading'>{{i18n loading}}</div>
+          {{/if}}
+        </div>
 
-      <div class='contents'>
-        {{#if view.postLeft}}
-          {{{view.postLeft.cooked}}}
-        {{else}}
-          <div class='history-loading'>{{i18n loading}}</div>
-        {{/if}}
       </div>
 
-    </div>
+      <div class='span8 offset1'>
+        {{view Ember.Select
+          contentBinding="view.versions"
+          optionLabelPath="content.description"
+          optionValuePath="content.number"
+          selectionBinding="view.versionRight"}}
 
-    <div class='span8 offset1'>
-      {{view Ember.Select
-        contentBinding="view.versions"
-        optionLabelPath="content.description"
-        optionValuePath="content.number"
-        selectionBinding="view.versionRight"}}
+        <div class='contents'>
+          {{#if view.diff}}
+            {{{view.diff}}}
+          {{else}}
+            <div class='history-loading'>{{i18n loading}}</div>
+          {{/if}}
+        </div>
 
-      <div class='contents'>
-        {{#if view.diff}}
-          {{{view.diff}}}
-        {{else}}
-          <div class='history-loading'>{{i18n loading}}</div>
-        {{/if}}
       </div>
-
-    </div>
+    {{/if}}
   {{/if}}
 
 </div>
\ No newline at end of file
diff --git a/app/assets/javascripts/discourse/templates/post.js.handlebars b/app/assets/javascripts/discourse/templates/post.js.handlebars
index 533329ac2..47a823a62 100644
--- a/app/assets/javascripts/discourse/templates/post.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/post.js.handlebars
@@ -58,7 +58,7 @@
 
     <div class='span5 gutter'>
       {{collection contentBinding="internalLinks" itemViewClass="Discourse.PostLinkView" tagName="ul" classNames="post-links"}}
-      {{#if controller.content.can_reply_as_new_topic}}
+      {{#if controller.can_reply_as_new_topic}}
         <a href='#' class='reply-new' {{action replyAsNewTopic this}}><i class='icon icon-plus'></i>{{i18n post.reply_as_new_topic}}</a>
       {{/if}}
     </div>
diff --git a/app/assets/javascripts/discourse/templates/topic.js.handlebars b/app/assets/javascripts/discourse/templates/topic.js.handlebars
index 36d0c89c6..ff53bf1b0 100644
--- a/app/assets/javascripts/discourse/templates/topic.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/topic.js.handlebars
@@ -58,7 +58,7 @@
               <div class='spinner'>{{i18n loading}}</div>
             {{/if}}
 
-            {{collection itemViewClass="Discourse.PostView" contentBinding="content.posts" topicViewBinding="view"}}
+            {{collection itemViewClass="Discourse.PostView" contentBinding="posts" topicViewBinding="view"}}
 
             {{#if loadingBelow}}
               <div class='spinner'>{{i18n loading}}</div>
diff --git a/app/assets/javascripts/discourse/templates/topic_admin_menu.js.handlebars b/app/assets/javascripts/discourse/templates/topic_admin_menu.js.handlebars
index 64d5d7e07..45d9cdd7a 100644
--- a/app/assets/javascripts/discourse/templates/topic_admin_menu.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/topic_admin_menu.js.handlebars
@@ -7,14 +7,14 @@
           <button {{action toggleMultiSelect}} class='btn btn-admin'><i class='icon-tasks'></i> {{i18n topic.actions.multi_select}}</button>
         </li>
 
-      {{#if content.can_delete}}
+      {{#if can_delete}}
         <li>
           <button {{action deleteTopic}} class='btn btn-admin btn-danger'><i class='icon-trash'></i> {{i18n topic.actions.delete}}</button>
         </li>
       {{/if}}
 
       <li>
-        {{#if content.closed}}
+        {{#if closed}}
           <button {{action toggleClosed}} class='btn btn-admin'><i class='icon-unlock'></i> {{i18n topic.actions.open}}</button>
         {{else}}
           <button {{action toggleClosed}} class='btn btn-admin'><i class='icon-lock'></i> {{i18n topic.actions.close}}</button>
@@ -23,7 +23,7 @@
       </li>
 
       <li>
-        {{#if content.pinned}}
+        {{#if pinned}}
           <button {{action togglePinned}} class='btn btn-admin'><i class='icon-pushpin'></i> {{i18n topic.actions.unpin}}</button>
         {{else}}
           <button {{action togglePinned}} class='btn btn-admin'><i class='icon-pushpin'></i> {{i18n topic.actions.pin}}</button>
@@ -31,7 +31,7 @@
       </li>
 
       <li>
-        {{#if content.archived}}
+        {{#if archived}}
           <button {{action toggleArchived}} class='btn btn-admin'><i class='icon-folder-close'></i> {{i18n topic.actions.unarchive}}</button>
         {{else}}
           <button {{action toggleArchived}} class='btn btn-admin'><i class='icon-folder-close'></i> {{i18n topic.actions.archive}}</button>
@@ -39,7 +39,7 @@
       </li>
 
       <li>
-        {{#if content.visible}}
+        {{#if visible}}
           <button {{action toggleVisibility}} class='btn btn-admin'><i class='icon-eye-close'></i> {{i18n topic.actions.invisible}}</button>
         {{else}}
           <button {{action toggleVisibility}} class='btn btn-admin'><i class='icon-eye-open'></i> {{i18n topic.actions.visible}}</button>
diff --git a/app/assets/javascripts/discourse/templates/topic_summary/info.js.handlebars b/app/assets/javascripts/discourse/templates/topic_summary/info.js.handlebars
index a5beb9e1f..51b833a8f 100644
--- a/app/assets/javascripts/discourse/templates/topic_summary/info.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/topic_summary/info.js.handlebars
@@ -82,10 +82,10 @@
     <section class='links'>
         <ul class='topic-links'>
           {{#collection contentBinding="view.parentView.infoLinks" itemTagName="li"}}
-            <span class='badge badge-notification clicks' title='{{i18n topic_summary.clicks}}'>{{view.content.clicks}}</span>
-            <a href="{{unbound view.content.url}}" target="_blank" class='topic-link track-link' data-user-id="{{unbound view.content.user_id}}" data-ignore-post-id="true" title="{{unbound view.content.url}}">
-              {{#if view.content.title}}{{shorten view.content.title}}{{else}}{{shortenUrl view.content.url}}{{/if}}
-              {{#if view.content.internal}}<i class='icon-arrow-right' title='{{i18n topic_summary.topic_link}}'></i>{{/if}}
+            <span class='badge badge-notification clicks' title='{{i18n topic_summary.clicks}}'>{{clicks}}</span>
+            <a href="{{unbound url}}" target="_blank" class='topic-link track-link' data-user-id="{{unbound user_id}}" data-ignore-post-id="true" title="{{unbound url}}">
+              {{#if title}}{{shorten title}}{{else}}{{shortenUrl url}}{{/if}}
+              {{#if internal}}<i class='icon-arrow-right' title='{{i18n topic_summary.topic_link}}'></i>{{/if}}
             </a>
           {{/collection}}
         </ul>
diff --git a/app/assets/javascripts/discourse/templates/user/activity.js.handlebars b/app/assets/javascripts/discourse/templates/user/activity.js.handlebars
index 81900fda2..30b886f68 100644
--- a/app/assets/javascripts/discourse/templates/user/activity.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/user/activity.js.handlebars
@@ -1,11 +1,11 @@
 
 <div id='user-info'>
   <nav class='buttons'>
-    {{#if content.can_edit}}
+    {{#if can_edit}}
       {{#linkTo "preferences" class="btn"}}{{i18n user.edit}}{{/linkTo}}
     {{/if}}
     <br/>
-    {{#if content.can_send_private_message_to_user}}
+    {{#if can_send_private_message_to_user}}
       <button class='btn create' {{action composePrivateMessage}}>
         <i class='icon icon-envelope-alt'></i>
         {{i18n user.private_message}}
@@ -22,27 +22,27 @@
   </ul>
   <div class='show'>
     <dl>
-    {{#if content.hasWebsite}}
-      <dt>{{i18n user.website}}:</dt><dd><a {{bindAttr href="content.website"}} target="_blank">{{content.websiteName}}</a></dd>
+    {{#if hasWebsite}}
+      <dt>{{i18n user.website}}:</dt><dd><a {{bindAttr href="website"}} target="_blank">{{websiteName}}</a></dd>
     {{/if}}
-    <dt>{{i18n user.created}}:</dt><dd>{{date content.created_at}}</dd>
-    {{#if content.last_posted_at}}
-      <dt>{{i18n user.last_posted}}:</dt><dd>{{date content.last_posted_at}}</dd>
+    <dt>{{i18n user.created}}:</dt><dd>{{date created_at}}</dd>
+    {{#if last_posted_at}}
+      <dt>{{i18n user.last_posted}}:</dt><dd>{{date last_posted_at}}</dd>
     {{/if}}
-    {{#if content.last_seen_at}}
-      <dt>{{i18n user.last_seen}}:</dt><dd>{{date content.last_seen_at}}</dd>
+    {{#if last_seen_at}}
+      <dt>{{i18n user.last_seen}}:</dt><dd>{{date last_seen_at}}</dd>
     {{/if}}
-    {{#if content.invited_by}}
-      <dt>{{i18n user.invited_by}}:</dt><dd>{{#linkTo user.activity content.invited_by}}{{content.invited_by.username}}{{/linkTo}}</dd>
+    {{#if invited_by}}
+      <dt>{{i18n user.invited_by}}:</dt><dd>{{#linkTo user.activity invited_by}}{{invited_by.username}}{{/linkTo}}</dd>
     {{/if}}
-    {{#if content.email}}
-      <dt>{{i18n user.email.title}}:</dt><dd {{bindAttr title="content.email"}}>{{content.email}}</dd>
+    {{#if email}}
+      <dt>{{i18n user.email.title}}:</dt><dd {{bindAttr title="email"}}>{{email}}</dd>
     {{/if}}
-    <dt>{{i18n user.trust_level}}:</dt><dd>{{content.trustLevel.name}}</dd>
+    <dt>{{i18n user.trust_level}}:</dt><dd>{{trustLevel.name}}</dd>
     </dl>
   </div>
 
-  {{#if content.can_edit}}
+  {{#if can_edit}}
     <div style='margin-top: 10px'>
       <button class='btn' data-not-implemented='true' disabled title="{{i18n not_implemented}}">{{i18n user.download_archive}}</button>
     </div>
diff --git a/app/assets/javascripts/discourse/templates/user/invited.js.handlebars b/app/assets/javascripts/discourse/templates/user/invited.js.handlebars
index 7922ce55c..9488a2d7d 100644
--- a/app/assets/javascripts/discourse/templates/user/invited.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/user/invited.js.handlebars
@@ -1,10 +1,10 @@
 <div id='invited-users'>
-  {{#if content.empty}}
+  {{#if empty}}
     <div id='no-invites' class='boxed white'>
-      {{i18n user.invited.none username="content.user.username"}}
+      {{i18n user.invited.none username="user.username"}}
     </div>
   {{else}}
-    {{#if content.redeemed}}
+    {{#if redeemed}}
       <div class='invites'>
         <h2>{{i18n user.invited.redeemed}}</h2>
         <div class='boxed white'>
@@ -18,7 +18,7 @@
               <th>{{i18n user.invited.time_read}}</th>
               <th>{{i18n user.invited.days_visited}}</th>
             </tr>
-            {{#each content.redeemed}}
+            {{#each redeemed}}
               <tr>
                 <td>
                   <a href="{{unbound user.path}}">{{avatar user imageSize="tiny"}}</a>
@@ -30,7 +30,7 @@
                 <td>{{number user.posts_read_count}}</td>
                 <td>{{{unbound user.time_read}}}</td>
                 <td><span title="{{i18n user.invited.days_visited}}">{{{unbound user.days_visited}}}</span>
-                    / 
+                    /
                     <span title="{{i18n user.invited.account_age_days}}">{{{unbound user.days_since_created}}}</span></td>
               </tr>
             {{/each}}
@@ -39,7 +39,7 @@
       </div>
     {{/if}}
 
-    {{#if content.pending}}
+    {{#if pending}}
       <div class='invites'>
         <h2>{{i18n user.invited.pending}}</h2>
         <div class='boxed white'>
@@ -47,9 +47,9 @@
             <tr>
               <th style='width: 60%'>{{i18n user.email.title}}</th>
               <th style='width: 20%'>{{i18n created}}</th>
-              <th>&nbsp;</th>              
+              <th>&nbsp;</th>
             </tr>
-            {{#each content.pending}}
+            {{#each pending}}
               <tr>
                 <td>{{email}}</td>
                 <td>{{date created_at}}</td>
diff --git a/app/assets/javascripts/discourse/templates/user/private_messages.js.handlebars b/app/assets/javascripts/discourse/templates/user/private_messages.js.handlebars
index 85038a13b..996ce723e 100644
--- a/app/assets/javascripts/discourse/templates/user/private_messages.js.handlebars
+++ b/app/assets/javascripts/discourse/templates/user/private_messages.js.handlebars
@@ -1,10 +1,10 @@
 <div id='user-info'>
   <nav class='buttons'>
-    {{#if content.can_edit}}
+    {{#if can_edit}}
       {{#linkTo "preferences" class="btn"}}{{i18n user.edit}}{{/linkTo}}
     {{/if}}
     <br/>
-    {{#if content.can_send_private_message_to_user}}
+    {{#if can_send_private_message_to_user}}
     <button class='btn create' {{action composePrivateMessage}}>
       <i class='icon icon-plus'></i>
       {{i18n user.private_message}}
@@ -14,7 +14,7 @@
   <div class='clearfix'></div>
 
   <ul class='action-list nav-stacked side-nav'>
-    {{#each content.statsPmsOnly}}
+    {{#each statsPmsOnly}}
       {{view Discourse.ActivityFilterView contentBinding="this"}}
     {{/each}}
   </ul>