From 7f9f02d6b07da7d226875ae2e6ccce1b80c14e9a Mon Sep 17 00:00:00 2001 From: Lieuwe Rooijakkers Date: Mon, 13 Feb 2017 17:01:08 +0100 Subject: [PATCH 1/2] setup: force user to login into an externalService --- client/app/setup/setup.coffee | 34 ++++++++-------------------------- client/app/setup/setup.html | 18 +++++++++++------- 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/client/app/setup/setup.coffee b/client/app/setup/setup.coffee index 844c47e4..e47958c8 100644 --- a/client/app/setup/setup.coffee +++ b/client/app/setup/setup.coffee @@ -15,6 +15,10 @@ schoolEngineSub = null setup = undefined +anyServiceLoggedIn = -> + services = externalServices.get() + _.some services, (s) -> s.loginNeeded and s.profileData()? + # TODO: These methods are not really DRY, even overall ugly. pictures = -> current = currentSelectedImage.get() @@ -84,32 +88,7 @@ class @Setup .map (s) -> s.profileData()?.schoolId .find _.negate _.isUndefined - done = (success) -> - if success? - addProgress 'externalServices', -> cb yes - else - cb no - - loginServices = _.filter externalServices.get(), 'loginNeeded' - data = _.filter loginServices, (s) -> s.profileData()? - if loginServices.length > 0 and data.length is 0 - alertModal( - 'Hé!' - ''' - Je hebt je op geen enkele site ingelogd! - Hierdoor zal simplyHomework niet automagisch data van sites voor je kunnen ophalen. - Als je later toch een site wilt toevoegen kan dat altijd in je instellingen. - - Weet je zeker dat je door wilt gaan? - ''' - DialogButtons.OkCancel - { main: 'doorgaan', second: 'woops' } - { main: 'btn-danger' } - main: -> done yes - second: -> done no - ) - else - done yes + addProgress 'externalServices', -> cb yes } { @@ -340,6 +319,9 @@ Template.setup.onRendered -> Template.setupFooter.helpers isLast: -> _.every setup?.running, 'done' + showButton: -> + current = setup?.current() + current?.name isnt 'externalServices' or anyServiceLoggedIn() Template.setupFooter.events 'click button': -> setup.finishStep() diff --git a/client/app/setup/setup.html b/client/app/setup/setup.html index 1e6dd4a6..21442f79 100644 --- a/client/app/setup/setup.html +++ b/client/app/setup/setup.html @@ -14,13 +14,17 @@ From 898ffb43095d74ade2df9390ce9285527a05f4d2 Mon Sep 17 00:00:00 2001 From: Lieuwe Rooijakkers Date: Mon, 13 Feb 2017 17:04:15 +0100 Subject: [PATCH 2/2] remove ability to set custom names --- .../pages/accountInfo/accountInfo.coffee | 11 ------ .../pages/accountInfo/accountInfo.html | 8 ---- client/app/setup/setup.coffee | 38 +++++++++++++------ client/app/setup/setup.html | 18 ++++----- lib/methods.coffee | 20 ---------- 5 files changed, 34 insertions(+), 61 deletions(-) diff --git a/client/app/settings/pages/accountInfo/accountInfo.coffee b/client/app/settings/pages/accountInfo/accountInfo.coffee index e5e828ea..88a41224 100644 --- a/client/app/settings/pages/accountInfo/accountInfo.coffee +++ b/client/app/settings/pages/accountInfo/accountInfo.coffee @@ -8,9 +8,6 @@ Template['settings_page_accountInfo'].events 'submit form': (event) -> event.preventDefault() - firstName = Helpers.nameCap $('#firstNameInput').val() - lastName = Helpers.nameCap $('#lastNameInput').val() - oldPass = $('#currentPassInput').val() mail = $('#mailInput').val().toLowerCase() @@ -18,11 +15,6 @@ Template['settings_page_accountInfo'].events newPass = $('#newPassInput').val() newPassRepeat = $('#newPassRepeatInput').val() - nameChanged = ( - profile = getUserField Meteor.userId(), 'profile' - profile.firstName isnt firstName or profile.lastName isnt lastName - ) - mailChanged = mail isnt getUserField Meteor.userId(), 'emails[0].address' passChanged = newPass isnt '' or newPassRepeat isnt '' needsPass = mailChanged or passChanged @@ -61,9 +53,6 @@ Template['settings_page_accountInfo'].events else callback not e? - if nameChanged - Meteor.call 'changeName', firstName, lastName, (e) -> callback not e? - if passChanged unless newPass is newPassRepeat setFieldError ( diff --git a/client/app/settings/pages/accountInfo/accountInfo.html b/client/app/settings/pages/accountInfo/accountInfo.html index acc265a4..09d4e958 100644 --- a/client/app/settings/pages/accountInfo/accountInfo.html +++ b/client/app/settings/pages/accountInfo/accountInfo.html @@ -1,14 +1,6 @@ diff --git a/lib/methods.coffee b/lib/methods.coffee index 66c340c3..a47a8e24 100644 --- a/lib/methods.coffee +++ b/lib/methods.coffee @@ -117,26 +117,6 @@ Meteor.methods $set: isRead: yes } - ###* - # @method changeName - # @param {String} firstName non empty string. - # @param {String} lastName non empty string. - ### - changeName: (firstName, lastName) -> - check firstName, String - check lastName, String - - firstName = Helpers.nameCap firstName.trim() - lastName = Helpers.nameCap lastName.trim() - - if firstName.length is 0 or lastName.length is 0 - throw new Meteor.Error 'name-empty' - - Meteor.users.update @userId, - $set: - 'profile.firstName': firstName - 'profile.lastName': lastName - ###* # @method saveMessageDraft # @param {Draft} draft