diff --git a/app/assets/javascripts/admin/controllers/admin_site_content_edit_controller.js b/app/assets/javascripts/admin/controllers/admin_site_content_edit_controller.js index e4a635eb529..981d15c6fd2 100644 --- a/app/assets/javascripts/admin/controllers/admin_site_content_edit_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_site_content_edit_controller.js @@ -6,7 +6,7 @@ @namespace Discourse @module Discourse **/ -Discourse.AdminSiteContentEditController = Discourse.ObjectController.extend({ +Discourse.AdminSiteContentEditController = Discourse.Controller.extend({ saveDisabled: function() { if (this.get('saving')) return true; diff --git a/app/assets/javascripts/admin/routes/admin_site_content_edit_route.js b/app/assets/javascripts/admin/routes/admin_site_content_edit_route.js index 3c5103ddb16..f62667af9c2 100644 --- a/app/assets/javascripts/admin/routes/admin_site_content_edit_route.js +++ b/app/assets/javascripts/admin/routes/admin_site_content_edit_route.js @@ -27,7 +27,11 @@ Discourse.AdminSiteContentEditRoute = Discourse.Route.extend({ setupController: function(controller, model) { controller.set('loaded', false); - controller.setProperties({saving: false, saved: false}); + controller.setProperties({ + model: model, + saving: false, + saved: false + }); Discourse.SiteContent.find(Em.get(model, 'content_type')).then(function (sc) { controller.set('content', sc); diff --git a/app/assets/javascripts/admin/routes/admin_site_contents_route.js b/app/assets/javascripts/admin/routes/admin_site_contents_route.js index 779f060cd68..69a2e29f454 100644 --- a/app/assets/javascripts/admin/routes/admin_site_contents_route.js +++ b/app/assets/javascripts/admin/routes/admin_site_contents_route.js @@ -12,7 +12,8 @@ Discourse.AdminSiteContentsRoute = Discourse.Route.extend({ return Discourse.SiteContentType.findAll(); }, - renderTemplate: function() { + renderTemplate: function(controller, model) { + controller.set('model', model); this.render('admin/templates/site_contents', {into: 'admin/templates/admin'}); this.render('admin/templates/site_contents_empty', {into: 'admin/templates/site_contents'}); } 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 3add8e4c3f6..749227e3b4c 100644 --- a/app/assets/javascripts/admin/templates/site_content_edit.js.handlebars +++ b/app/assets/javascripts/admin/templates/site_content_edit.js.handlebars @@ -1,20 +1,20 @@ {{#if loaded}} -
{{description}}
+{{model.description}}
- {{#if markdown}} + {{#if model.markdown}} {{pagedown value=model.content}} {{/if}} - {{#if plainText}} + {{#if model.plainText}} {{textarea value=model.content class="plain"}} {{/if}} - {{#if html}} + {{#if model.html}} {{aceEditor content=model.content mode="html"}} {{/if}} - {{#if css}} + {{#if model.css}} {{aceEditor content=model.content mode="css"}} {{/if}} diff --git a/app/assets/javascripts/application.js.erb b/app/assets/javascripts/application.js.erb index 59821821a28..ed4bc6e87cc 100644 --- a/app/assets/javascripts/application.js.erb +++ b/app/assets/javascripts/application.js.erb @@ -12,7 +12,7 @@ // Externals we need to load first //= require ./external/jquery-1.8.3.js //= require ./external/jquery.ui.widget.js -//= require ./external/handlebars-1.0.rc.3.js +//= require ./external/handlebars-1.0.rc.4.js <% if Rails.env.development? require_asset ("./external_development/ember.js") diff --git a/app/assets/javascripts/discourse/components/development.js b/app/assets/javascripts/discourse/components/development.js index eee9ed0fc48..34dfa466376 100644 --- a/app/assets/javascripts/discourse/components/development.js +++ b/app/assets/javascripts/discourse/components/development.js @@ -72,7 +72,7 @@ Discourse.Development = { }); }; - Ember.View.prototype.renderToBuffer = window.probes.measure(Ember.View.prototype.renderToBuffer, "renderToBuffer"); + //Ember.View.prototype.renderToBuffer = window.probes.measure(Ember.View.prototype.renderToBuffer, "renderToBuffer"); Discourse.URL.routeTo = topLevel(Discourse.URL.routeTo, "Discourse.URL.routeTo"); Ember.run.end = topLevel(Ember.run.end, "Ember.run.end"); }, diff --git a/app/assets/javascripts/discourse/controllers/header_controller.js b/app/assets/javascripts/discourse/controllers/header_controller.js index 57529bb471a..d06849dd3f2 100644 --- a/app/assets/javascripts/discourse/controllers/header_controller.js +++ b/app/assets/javascripts/discourse/controllers/header_controller.js @@ -18,7 +18,11 @@ Discourse.HeaderController = Discourse.Controller.extend({ categories: function() { return Discourse.Category.list(); - }.property() + }.property(), + + showFavoriteButton: function() { + return Discourse.User.current() && !this.get('topic.isPrivateMessage'); + }.property('topic.isPrivateMessage') }); diff --git a/app/assets/javascripts/discourse/routes/list_categories_route.js b/app/assets/javascripts/discourse/routes/list_categories_route.js index 4647fa79042..d825c9bffc5 100644 --- a/app/assets/javascripts/discourse/routes/list_categories_route.js +++ b/app/assets/javascripts/discourse/routes/list_categories_route.js @@ -11,18 +11,15 @@ Discourse.ListCategoriesRoute = Discourse.Route.extend({ redirect: function() { Discourse.redirectIfLoginRequired(this); }, events: { - createCategory: function() { Discourse.Route.showModal(this, 'editCategory', Discourse.Category.create({ color: 'AB9364', text_color: 'FFFFFF', hotness: 5 })); this.controllerFor('editCategory').set('selectedTab', 'general'); } - }, model: function() { var listTopicsController = this.controllerFor('listTopics'); if (listTopicsController) listTopicsController.set('content', null); - return this.controllerFor('list').load('categories'); }, @@ -33,6 +30,7 @@ Discourse.ListCategoriesRoute = Discourse.Route.extend({ setupController: function(controller, categoryList) { this.render('listCategories', { into: 'list', outlet: 'listView' }); + controller.set('model', categoryList); this.controllerFor('list').setProperties({ canCreateCategory: categoryList.get('can_create_category'), diff --git a/app/assets/javascripts/discourse/routes/topic_route.js b/app/assets/javascripts/discourse/routes/topic_route.js index 4c3b495d141..918d292ec7d 100644 --- a/app/assets/javascripts/discourse/routes/topic_route.js +++ b/app/assets/javascripts/discourse/routes/topic_route.js @@ -98,6 +98,7 @@ Discourse.TopicRoute = Discourse.Route.extend({ }, setupController: function(controller, model) { + controller.set('model', model); this.controllerFor('header').set('topic', model); this.controllerFor('composer').set('topic', model); } diff --git a/app/assets/javascripts/discourse/routes/user_private_messages_route.js b/app/assets/javascripts/discourse/routes/user_private_messages_route.js index 4c8243173db..1ce4195dee6 100644 --- a/app/assets/javascripts/discourse/routes/user_private_messages_route.js +++ b/app/assets/javascripts/discourse/routes/user_private_messages_route.js @@ -18,6 +18,7 @@ Discourse.UserPrivateMessagesRoute = Discourse.RestrictedUserRoute.extend({ setupController: function(controller, stream) { var composerController = this.controllerFor('composer'); + controller.set('model', stream); Discourse.Draft.get('new_private_message').then(function(data) { if (data.draft) { composerController.open({ diff --git a/app/assets/javascripts/discourse/routes/user_route.js b/app/assets/javascripts/discourse/routes/user_route.js index c4a1530af0b..60b19dc0b9e 100644 --- a/app/assets/javascripts/discourse/routes/user_route.js +++ b/app/assets/javascripts/discourse/routes/user_route.js @@ -13,11 +13,13 @@ Discourse.UserRoute = Discourse.Route.extend({ }, serialize: function(params) { + if (!params) return {}; return { username: Em.get(params, 'username').toLowerCase() }; }, setupController: function(controller, user) { user.findDetails(); + controller.set('model', user); // Add a search context this.controllerFor('search').set('searchContext', user.get('searchContext')); diff --git a/app/assets/javascripts/discourse/templates/header.js.handlebars b/app/assets/javascripts/discourse/templates/header.js.handlebars index df4d1d5f2f8..a9dbed82235 100644 --- a/app/assets/javascripts/discourse/templates/header.js.handlebars +++ b/app/assets/javascripts/discourse/templates/header.js.handlebars @@ -2,7 +2,30 @@