From a0d0f859ba9220ebad4aea756b339ac1bc2e02bc Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Thu, 14 Aug 2014 12:51:16 -0400 Subject: [PATCH] Add login buttons to create account template. --- .../discourse/components/login-buttons.js.es6 | 16 ++++++++++++++++ .../discourse/controllers/create-account.js.es6 | 6 ++++++ .../components/login-buttons.js.handlebars | 3 +++ .../templates/modal/create_account.js.handlebars | 2 ++ .../templates/modal/login.js.handlebars | 8 +------- app/assets/javascripts/main_include.js | 1 + .../controllers/create-account-test.js.es6 | 2 +- 7 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 app/assets/javascripts/discourse/components/login-buttons.js.es6 create mode 100644 app/assets/javascripts/discourse/templates/components/login-buttons.js.handlebars diff --git a/app/assets/javascripts/discourse/components/login-buttons.js.es6 b/app/assets/javascripts/discourse/components/login-buttons.js.es6 new file mode 100644 index 00000000000..07cd9fc57b1 --- /dev/null +++ b/app/assets/javascripts/discourse/components/login-buttons.js.es6 @@ -0,0 +1,16 @@ +export default Ember.Component.extend({ + elementId: 'login-buttons', + classNameBindings: ['hidden'], + + hidden: Em.computed.equal('buttons.length', 0), + + buttons: function() { + return Em.get('Discourse.LoginMethod.all'); + }.property(), + + actions: { + externalLogin: function(provider) { + this.sendAction('action', provider); + } + } +}); diff --git a/app/assets/javascripts/discourse/controllers/create-account.js.es6 b/app/assets/javascripts/discourse/controllers/create-account.js.es6 index a8dba32d378..81d3abafa52 100644 --- a/app/assets/javascripts/discourse/controllers/create-account.js.es6 +++ b/app/assets/javascripts/discourse/controllers/create-account.js.es6 @@ -3,6 +3,8 @@ import ModalFunctionality from 'discourse/mixins/modal-functionality'; import DiscourseController from 'discourse/controllers/controller'; export default DiscourseController.extend(ModalFunctionality, { + needs: ['login'], + uniqueUsernameValidation: null, globalNicknameExists: false, complete: false, @@ -323,6 +325,10 @@ export default DiscourseController.extend(ModalFunctionality, { tosAcceptRequired: Discourse.computed.setting('tos_accept_required'), actions: { + externalLogin: function(provider) { + this.get('controllers.login').send('externalLogin', provider); + }, + createAccount: function() { var self = this; this.set('formSubmitted', true); diff --git a/app/assets/javascripts/discourse/templates/components/login-buttons.js.handlebars b/app/assets/javascripts/discourse/templates/components/login-buttons.js.handlebars new file mode 100644 index 00000000000..e5aabe80624 --- /dev/null +++ b/app/assets/javascripts/discourse/templates/components/login-buttons.js.handlebars @@ -0,0 +1,3 @@ +{{#each buttons}} + +{{/each}} diff --git a/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars b/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars index 983b068b6f0..a514cc0c62b 100644 --- a/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars +++ b/app/assets/javascripts/discourse/templates/modal/create_account.js.handlebars @@ -1,5 +1,7 @@ {{#unless complete}}