From bc2d87e5c1b35bd49e62db944d00cf960b16abd9 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Sun, 4 May 2014 14:30:17 -0400 Subject: [PATCH] ES6: Half a dozen more controllers converted --- ...n_level_controller.js => bulk-notification-level.js.es6} | 2 +- .../{change_owner_controller.js => change-owner.js.es6} | 2 +- ...oser_messages_controller.js => composer-messages.js.es6} | 4 ++-- .../controllers/{composer_controller.js => composer.js.es6} | 2 +- .../{create_account_controller.js => create-account.js.es6} | 2 +- app/assets/javascripts/discourse/lib/url.js | 2 ++ .../controllers/create_account_controller_test.js | 6 +++--- 7 files changed, 11 insertions(+), 9 deletions(-) rename app/assets/javascripts/discourse/controllers/{bulk_notification_level_controller.js => bulk-notification-level.js.es6} (93%) rename app/assets/javascripts/discourse/controllers/{change_owner_controller.js => change-owner.js.es6} (92%) rename app/assets/javascripts/discourse/controllers/{composer_messages_controller.js => composer-messages.js.es6} (96%) rename app/assets/javascripts/discourse/controllers/{composer_controller.js => composer.js.es6} (99%) rename app/assets/javascripts/discourse/controllers/{create_account_controller.js => create-account.js.es6} (99%) diff --git a/app/assets/javascripts/discourse/controllers/bulk_notification_level_controller.js b/app/assets/javascripts/discourse/controllers/bulk-notification-level.js.es6 similarity index 93% rename from app/assets/javascripts/discourse/controllers/bulk_notification_level_controller.js rename to app/assets/javascripts/discourse/controllers/bulk-notification-level.js.es6 index 444165baf99..87d698062dd 100644 --- a/app/assets/javascripts/discourse/controllers/bulk_notification_level_controller.js +++ b/app/assets/javascripts/discourse/controllers/bulk-notification-level.js.es6 @@ -6,7 +6,7 @@ @namespace Discourse @module Discourse **/ -Discourse.BulkNotificationLevelController = Em.Controller.extend({ +export default Em.Controller.extend({ needs: ['topicBulkActions'], notificationLevelId: null, diff --git a/app/assets/javascripts/discourse/controllers/change_owner_controller.js b/app/assets/javascripts/discourse/controllers/change-owner.js.es6 similarity index 92% rename from app/assets/javascripts/discourse/controllers/change_owner_controller.js rename to app/assets/javascripts/discourse/controllers/change-owner.js.es6 index 865a5c91065..46b04289829 100644 --- a/app/assets/javascripts/discourse/controllers/change_owner_controller.js +++ b/app/assets/javascripts/discourse/controllers/change-owner.js.es6 @@ -7,7 +7,7 @@ @uses Discourse.ModalFunctionality @module Discourse **/ -Discourse.ChangeOwnerController = Discourse.ObjectController.extend(Discourse.SelectedPostsCount, Discourse.ModalFunctionality, { +export default Discourse.ObjectController.extend(Discourse.SelectedPostsCount, Discourse.ModalFunctionality, { needs: ['topic'], topicController: Em.computed.alias('controllers.topic'), diff --git a/app/assets/javascripts/discourse/controllers/composer_messages_controller.js b/app/assets/javascripts/discourse/controllers/composer-messages.js.es6 similarity index 96% rename from app/assets/javascripts/discourse/controllers/composer_messages_controller.js rename to app/assets/javascripts/discourse/controllers/composer-messages.js.es6 index 3dea0b4166d..d23ba606645 100644 --- a/app/assets/javascripts/discourse/controllers/composer_messages_controller.js +++ b/app/assets/javascripts/discourse/controllers/composer-messages.js.es6 @@ -6,7 +6,7 @@ @namespace Discourse @module Discourse **/ -Discourse.ComposerMessagesController = Ember.ArrayController.extend({ +export default Ember.ArrayController.extend({ needs: ['composer'], // Whether we've checked our messages @@ -98,4 +98,4 @@ Discourse.ComposerMessagesController = Ember.ArrayController.extend({ }); } -}); \ No newline at end of file +}); diff --git a/app/assets/javascripts/discourse/controllers/composer_controller.js b/app/assets/javascripts/discourse/controllers/composer.js.es6 similarity index 99% rename from app/assets/javascripts/discourse/controllers/composer_controller.js rename to app/assets/javascripts/discourse/controllers/composer.js.es6 index a6410081020..486b851ebf0 100644 --- a/app/assets/javascripts/discourse/controllers/composer_controller.js +++ b/app/assets/javascripts/discourse/controllers/composer.js.es6 @@ -6,7 +6,7 @@ @namespace Discourse @module Discourse **/ -Discourse.ComposerController = Discourse.Controller.extend({ +export default Discourse.Controller.extend({ needs: ['modal', 'topic', 'composerMessages'], replyAsNewTopicDraft: Em.computed.equal('model.draftKey', Discourse.Composer.REPLY_AS_NEW_TOPIC_KEY), diff --git a/app/assets/javascripts/discourse/controllers/create_account_controller.js b/app/assets/javascripts/discourse/controllers/create-account.js.es6 similarity index 99% rename from app/assets/javascripts/discourse/controllers/create_account_controller.js rename to app/assets/javascripts/discourse/controllers/create-account.js.es6 index a04dc3c6c4f..dc76f058fc0 100644 --- a/app/assets/javascripts/discourse/controllers/create_account_controller.js +++ b/app/assets/javascripts/discourse/controllers/create-account.js.es6 @@ -7,7 +7,7 @@ @uses Discourse.ModalFunctionality @module Discourse **/ -Discourse.CreateAccountController = Discourse.Controller.extend(Discourse.ModalFunctionality, { +export default Discourse.Controller.extend(Discourse.ModalFunctionality, { uniqueUsernameValidation: null, globalNicknameExists: false, complete: false, diff --git a/app/assets/javascripts/discourse/lib/url.js b/app/assets/javascripts/discourse/lib/url.js index 0f096d2e536..66cb168bbaf 100644 --- a/app/assets/javascripts/discourse/lib/url.js +++ b/app/assets/javascripts/discourse/lib/url.js @@ -52,6 +52,8 @@ Discourse.URL = Em.Object.createWithMixins({ **/ routeTo: function(path) { + if (Em.isEmpty(path)) { return; } + if(Discourse.get("requiresRefresh")){ document.location.href = path; return; diff --git a/test/javascripts/controllers/create_account_controller_test.js b/test/javascripts/controllers/create_account_controller_test.js index 8e6ced64cae..45ca92ee8e2 100644 --- a/test/javascripts/controllers/create_account_controller_test.js +++ b/test/javascripts/controllers/create_account_controller_test.js @@ -1,8 +1,8 @@ -module("Discourse.CreateAccountController"); +module("controller:create-account"); test('basicUsernameValidation', function() { var testInvalidUsername = function(username, expectedReason) { - var controller = testController(Discourse.CreateAccountController, null); + var controller = controllerFor('create-account'); controller.set('accountUsername', username); equal(controller.get('basicUsernameValidation.failed'), true, 'username should be invalid: ' + username); equal(controller.get('basicUsernameValidation.reason'), expectedReason, 'username validation reason: ' + username + ', ' + expectedReason); @@ -12,7 +12,7 @@ test('basicUsernameValidation', function() { testInvalidUsername('x', I18n.t('user.username.too_short')); testInvalidUsername('1234567890123456', I18n.t('user.username.too_long')); - var controller = testController(Discourse.CreateAccountController, null); + var controller = controllerFor('create-account'); controller.set('accountUsername', 'porkchops'); controller.set('prefilledUsername', 'porkchops'); equal(controller.get('basicUsernameValidation.ok'), true, 'Prefilled username is valid');