From ad0381d3fa80aa2247b9d6200d4489f1fd3430c8 Mon Sep 17 00:00:00 2001 From: Ry Walker Date: Mon, 9 Dec 2013 19:12:25 -0500 Subject: [PATCH] Refactor, fix signup code, add signup template override --- client/entry.coffee | 19 +++++++ entry.less => client/entry.less | 0 client/helpers.coffee | 27 ++++++++++ .../accountButtons}/accountButtons.coffee | 3 -- .../views/accountButtons}/accountButtons.html | 0 {shared => client/views/error}/error.coffee | 0 {shared => client/views/error}/error.html | 0 .../forgotPassword}/forgotPassword.coffee | 0 .../views/forgotPassword}/forgotPassword.html | 0 .../views/resetPassword}/resetPassword.coffee | 0 .../views/resetPassword}/resetPassword.html | 0 .../views/signIn}/signIn.coffee | 0 {sign-in => client/views/signIn}/signIn.html | 0 .../views/signUp}/signUp.coffee | 0 {sign-up => client/views/signUp}/signUp.html | 0 {shared => client/views/social}/social.coffee | 0 {shared => client/views/social}/social.html | 0 helper.js | 13 ----- package.js | 54 ++++++++++--------- server/accountsUrl.coffee | 2 - entry.coffee => server/entry.coffee | 5 +- router.coffee => shared/router.coffee | 0 shared/start.coffee | 24 --------- 23 files changed, 79 insertions(+), 68 deletions(-) create mode 100644 client/entry.coffee rename entry.less => client/entry.less (100%) create mode 100644 client/helpers.coffee rename {shared => client/views/accountButtons}/accountButtons.coffee (64%) rename {shared => client/views/accountButtons}/accountButtons.html (100%) rename {shared => client/views/error}/error.coffee (100%) rename {shared => client/views/error}/error.html (100%) rename {forgot-password => client/views/forgotPassword}/forgotPassword.coffee (100%) rename {forgot-password => client/views/forgotPassword}/forgotPassword.html (100%) rename {reset-password => client/views/resetPassword}/resetPassword.coffee (100%) rename {reset-password => client/views/resetPassword}/resetPassword.html (100%) rename {sign-in => client/views/signIn}/signIn.coffee (100%) rename {sign-in => client/views/signIn}/signIn.html (100%) rename {sign-up => client/views/signUp}/signUp.coffee (100%) rename {sign-up => client/views/signUp}/signUp.html (100%) rename {shared => client/views/social}/social.coffee (100%) rename {shared => client/views/social}/social.html (100%) delete mode 100644 helper.js delete mode 100644 server/accountsUrl.coffee rename entry.coffee => server/entry.coffee (80%) rename router.coffee => shared/router.coffee (100%) delete mode 100644 shared/start.coffee diff --git a/client/entry.coffee b/client/entry.coffee new file mode 100644 index 00000000..1db65489 --- /dev/null +++ b/client/entry.coffee @@ -0,0 +1,19 @@ +AccountsEntry = + settings: + wrapLinks: true + homeRoute: '/home' + dashboardRoute: '/dashboard' + + config: (appConfig) -> + @settings = _.extend(@settings, appConfig) + + if appConfig.signUpTemplate + Router.routes = _.reject Router.routes, (e, i) -> + e.name is 'entrySignUp' + + Router.map -> + @route 'signUp', + path: 'sign-up', + template: appConfig.signUpTemplate + +@AccountsEntry = AccountsEntry diff --git a/entry.less b/client/entry.less similarity index 100% rename from entry.less rename to client/entry.less diff --git a/client/helpers.coffee b/client/helpers.coffee new file mode 100644 index 00000000..41bf99f4 --- /dev/null +++ b/client/helpers.coffee @@ -0,0 +1,27 @@ +if typeof Handlebars isnt "undefined" + Handlebars.registerHelper "signedInAs", (date) -> + if Meteor.user().username + Meteor.user().username + else if Meteor.user().profile.name + Meteor.user().profile.name + else if Meteor.user().emails and Meteor.user().emails[0] + Meteor.user().emails[0].address + else + "Signed In" + +Handlebars.registerHelper 'accountButtons', -> + return new Handlebars.SafeString(Template.entryAccountButtons()) + +Handlebars.registerHelper 'capitalize', (str) -> + str.charAt(0).toUpperCase() + str.slice(1) + +Handlebars.registerHelper 'signupClass', -> + if Accounts.oauth && Accounts.oauth.serviceNames().length > 0 + "collapse" + +Handlebars.registerHelper 'otherLoginServices', -> + Accounts.oauth && + Accounts.oauth.serviceNames().length > 0 + +Handlebars.registerHelper 'loginServices', -> + Accounts.oauth.serviceNames() diff --git a/shared/accountButtons.coffee b/client/views/accountButtons/accountButtons.coffee similarity index 64% rename from shared/accountButtons.coffee rename to client/views/accountButtons/accountButtons.coffee index 4f3b02a4..fbe64323 100644 --- a/shared/accountButtons.coffee +++ b/client/views/accountButtons/accountButtons.coffee @@ -1,6 +1,3 @@ -Handlebars.registerHelper "accountButtons", -> - return new Handlebars.SafeString(Template.entryAccountButtons()) - Template.entryAccountButtons.helpers profileUrl: -> return false unless AccountsEntry.settings.profileRoute diff --git a/shared/accountButtons.html b/client/views/accountButtons/accountButtons.html similarity index 100% rename from shared/accountButtons.html rename to client/views/accountButtons/accountButtons.html diff --git a/shared/error.coffee b/client/views/error/error.coffee similarity index 100% rename from shared/error.coffee rename to client/views/error/error.coffee diff --git a/shared/error.html b/client/views/error/error.html similarity index 100% rename from shared/error.html rename to client/views/error/error.html diff --git a/forgot-password/forgotPassword.coffee b/client/views/forgotPassword/forgotPassword.coffee similarity index 100% rename from forgot-password/forgotPassword.coffee rename to client/views/forgotPassword/forgotPassword.coffee diff --git a/forgot-password/forgotPassword.html b/client/views/forgotPassword/forgotPassword.html similarity index 100% rename from forgot-password/forgotPassword.html rename to client/views/forgotPassword/forgotPassword.html diff --git a/reset-password/resetPassword.coffee b/client/views/resetPassword/resetPassword.coffee similarity index 100% rename from reset-password/resetPassword.coffee rename to client/views/resetPassword/resetPassword.coffee diff --git a/reset-password/resetPassword.html b/client/views/resetPassword/resetPassword.html similarity index 100% rename from reset-password/resetPassword.html rename to client/views/resetPassword/resetPassword.html diff --git a/sign-in/signIn.coffee b/client/views/signIn/signIn.coffee similarity index 100% rename from sign-in/signIn.coffee rename to client/views/signIn/signIn.coffee diff --git a/sign-in/signIn.html b/client/views/signIn/signIn.html similarity index 100% rename from sign-in/signIn.html rename to client/views/signIn/signIn.html diff --git a/sign-up/signUp.coffee b/client/views/signUp/signUp.coffee similarity index 100% rename from sign-up/signUp.coffee rename to client/views/signUp/signUp.coffee diff --git a/sign-up/signUp.html b/client/views/signUp/signUp.html similarity index 100% rename from sign-up/signUp.html rename to client/views/signUp/signUp.html diff --git a/shared/social.coffee b/client/views/social/social.coffee similarity index 100% rename from shared/social.coffee rename to client/views/social/social.coffee diff --git a/shared/social.html b/client/views/social/social.html similarity index 100% rename from shared/social.html rename to client/views/social/social.html diff --git a/helper.js b/helper.js deleted file mode 100644 index b97621a4..00000000 --- a/helper.js +++ /dev/null @@ -1,13 +0,0 @@ -if (typeof Handlebars !== 'undefined') { - Handlebars.registerHelper("signedInAs", function(date) { - if (Meteor.user().username) { - return Meteor.user().username; - } else if (Meteor.user().profile.name) { - return Meteor.user().profile.name; - } else if (Meteor.user().emails && Meteor.user().emails[0]) { - return Meteor.user().emails[0].address; - } else { - return "Signed In"; - } - }); -} diff --git a/package.js b/package.js index 41d9b27b..3c6759ce 100644 --- a/package.js +++ b/package.js @@ -3,6 +3,8 @@ Package.describe({ }); Package.on_use(function(api) { + + // CLIENT api.use([ 'deps', 'service-configuration', @@ -16,41 +18,43 @@ Package.on_use(function(api) { 'less'] , 'client'); - api.imply('accounts-base', ['client', 'server']); api.add_files([ - 'shared/start.coffee', - 'sign-in/signIn.html', - 'sign-in/signIn.coffee', - 'sign-up/signUp.html', - 'sign-up/signUp.coffee', - 'forgot-password/forgotPassword.html', - 'forgot-password/forgotPassword.coffee', - 'reset-password/resetPassword.html', - 'reset-password/resetPassword.coffee', - 'shared/social.html', - 'shared/social.coffee', - 'shared/error.html', - 'shared/error.coffee', - 'shared/accountButtons.html', - 'shared/accountButtons.coffee', - 'entry.less', - 'helper.js'] - , 'client'); + 'client/entry.coffee', + 'client/entry.less', + 'client/helpers.coffee', + 'client/views/signIn/signIn.html', + 'client/views/signIn/signIn.coffee', + 'client/views/signUp/signUp.html', + 'client/views/signUp/signUp.coffee', + 'client/views/forgotPassword/forgotPassword.html', + 'client/views/forgotPassword/forgotPassword.coffee', + 'client/views/resetPassword/resetPassword.html', + 'client/views/resetPassword/resetPassword.coffee', + 'client/views/social/social.html', + 'client/views/social/social.coffee', + 'client/views/error/error.html', + 'client/views/error/error.coffee', + 'client/views/accountButtons/accountButtons.html', + 'client/views/accountButtons/accountButtons.coffee' + ], 'client'); + // SERVER api.use([ 'deps', 'service-configuration', 'accounts-password', 'accounts-base', 'underscore', - 'coffeescript'] - , 'server'); + 'coffeescript' + ], 'server'); - api.export('AccountsEntry', ['client', 'server']); - api.add_files('entry.coffee', 'server'); + api.add_files(['server/entry.coffee'], 'server'); + // CLIENT and SERVER + api.imply('accounts-base', ['client', 'server']); + api.export('AccountsEntry', ['client', 'server']); api.use('iron-router', ['client', 'server']); - api.add_files('router.coffee', ['client', 'server']); - api.add_files('server/accountsUrl.coffee', 'server'); + api.add_files(['shared/router.coffee'], ['client', 'server']); + }); diff --git a/server/accountsUrl.coffee b/server/accountsUrl.coffee deleted file mode 100644 index 668ba28b..00000000 --- a/server/accountsUrl.coffee +++ /dev/null @@ -1,2 +0,0 @@ -Accounts.urls.resetPassword = (token) -> - Meteor.absoluteUrl('reset-password/' + token) diff --git a/entry.coffee b/server/entry.coffee similarity index 80% rename from entry.coffee rename to server/entry.coffee index 6ea521df..0c526d15 100644 --- a/entry.coffee +++ b/server/entry.coffee @@ -1,4 +1,7 @@ Meteor.startup -> + Accounts.urls.resetPassword = (token) -> + Meteor.absoluteUrl('reset-password/' + token) + AccountsEntry = settings: {} @@ -9,7 +12,7 @@ Meteor.startup -> Meteor.methods entryValidateSignupCode: (signupCode) -> - not AccountsEntry.settings.showSignupCode or signupCode is AccountsEntry.settings.signupCode + signupCode is AccountsEntry.settings.signupCode accountsCreateUser: (username, email, password) -> if username diff --git a/router.coffee b/shared/router.coffee similarity index 100% rename from router.coffee rename to shared/router.coffee diff --git a/shared/start.coffee b/shared/start.coffee deleted file mode 100644 index be0ddf71..00000000 --- a/shared/start.coffee +++ /dev/null @@ -1,24 +0,0 @@ -AccountsEntry = - settings: - wrapLinks: true - homeRoute: 'home' - dashboardRoute: 'dashboard' - - config: (appConfig) -> - @settings = _.extend(@settings, appConfig) - -@AccountsEntry = AccountsEntry - -Handlebars.registerHelper 'capitalize', (str) -> - str.charAt(0).toUpperCase() + str.slice(1) - -Handlebars.registerHelper 'signupClass', -> - if Accounts.oauth && Accounts.oauth.serviceNames().length > 0 - "collapse" - -Handlebars.registerHelper 'otherLoginServices', -> - Accounts.oauth && - Accounts.oauth.serviceNames().length > 0 - -Handlebars.registerHelper 'loginServices', -> - Accounts.oauth.serviceNames()