From e659f0f4b3aa1485c979c91981fdab95f9b233f7 Mon Sep 17 00:00:00 2001 From: Aysel Afsar Date: Thu, 4 Feb 2016 17:53:01 -0500 Subject: [PATCH] - Renamed validatePassword method, usePwstrength and useZxcvbn, - Moved passwordOptions from settings.json to ActiveEntry configuration object - Used zxcvbn rule set if showPasswordStrengthIndicator is true, used regular expression rule set if showPasswordStrengthIndicator is false --- LesionTracker/.meteor/versions | 2 +- LesionTracker/activeEntry.js | 4 + Packages/active-entry/README.md | 7 +- .../components/entrySignIn/entrySignIn.js | 15 +++- .../components/entrySignUp/entrySignUp.html | 6 +- .../components/entrySignUp/entrySignUp.js | 40 +++++++-- .../components/entrySignUp/entrySignUp.less | 2 +- Packages/active-entry/lib/ActiveEntry.js | 11 ++- .../active-entry/lib/checkPasswordStrength.js | 46 +++++++++++ Packages/active-entry/lib/validatePassword.js | 24 ------ Packages/active-entry/package.js | 4 +- .../tests/gagarin/activeEntryTests.js | 2 +- .../walkthroughs/activeEntryWalkthrough.js | 82 ++++++++++--------- config/localhostOrthanc.json | 4 +- config/medicalConnections.json | 4 +- config/medkenOrthanc.json | 4 +- config/siimDCM4CHEE.json | 10 +-- 17 files changed, 165 insertions(+), 102 deletions(-) create mode 100644 Packages/active-entry/lib/checkPasswordStrength.js delete mode 100644 Packages/active-entry/lib/validatePassword.js diff --git a/LesionTracker/.meteor/versions b/LesionTracker/.meteor/versions index 785996d0e..375a94406 100644 --- a/LesionTracker/.meteor/versions +++ b/LesionTracker/.meteor/versions @@ -16,7 +16,7 @@ caching-compiler@1.0.0 caching-html-compiler@1.0.2 callback-hook@1.0.4 check@1.1.0 -clinical:active-entry@1.5.14 +clinical:active-entry@1.5.15 clinical:auto-resizing@0.1.2 clinical:error-pages@0.1.1 clinical:extended-api@2.2.2 diff --git a/LesionTracker/activeEntry.js b/LesionTracker/activeEntry.js index 595cd4890..51a196b62 100644 --- a/LesionTracker/activeEntry.js +++ b/LesionTracker/activeEntry.js @@ -13,6 +13,10 @@ if (Meteor.isClient){ }, themeColors: { primary: "" + }, + passwordOptions: { + requireStrongPasswords: true, + showPasswordStrengthIndicator: true } }); } diff --git a/Packages/active-entry/README.md b/Packages/active-entry/README.md index e55460600..5fe15f346 100755 --- a/Packages/active-entry/README.md +++ b/Packages/active-entry/README.md @@ -2,7 +2,7 @@ This package provides the SignIn, SignUp, and ForgotPassword pages. -[![Circle CI](https://circleci.com/gh/clinical-meteor/clinical-active-entry/tree/master.svg?style=svg)](https://circleci.com/gh/clinical-meteor/clinical-active-entry/tree/master) +[![Circle CI](https://circleci.com/gh/clinical-meteor/active-entry/tree/master.svg?style=svg)](https://circleci.com/gh/clinical-meteor/active-entry/tree/master) =============================== #### Installation @@ -16,7 +16,7 @@ meteor add clinical:active-entry The following diagram represents the entry workflow that is being implemented in this package. This package is under active development, and is about half completed. Pull requests which help implement the following workflow will be fast-tracked and accepted into the package. -![entry-workflow](https://raw.githubusercontent.com/clinical-meteor/clinical-active-entry/master/docs/Entry%20Workflow.png) +![entry-workflow](https://raw.githubusercontent.com/clinical-meteor/active-entry/master/docs/Entry%20Workflow.png) @@ -111,6 +111,9 @@ npm install -g starrynight # verification testing (a.k.a. package-level unit/integration testing) starrynight run-tests --type package-verification +#to run validation tests, you'll need an ``.initializeUsers()`` function +meteor add clinical:accounts-housemd + #validation testing (a.k.a. application acceptance/end-to-end testing) starrynight autoscan starrynight run-tests --type validation diff --git a/Packages/active-entry/components/entrySignIn/entrySignIn.js b/Packages/active-entry/components/entrySignIn/entrySignIn.js index 2cb922923..3320925fc 100755 --- a/Packages/active-entry/components/entrySignIn/entrySignIn.js +++ b/Packages/active-entry/components/entrySignIn/entrySignIn.js @@ -57,7 +57,7 @@ Template.entrySignIn.helpers({ getPasswordValidationStyling: function () { if (ActiveEntry.errorMessages.equals('password', "Password is required")) { return "border: 1px solid #a94442"; - } else if (ActiveEntry.errorMessages.equals('password', "Password must have at least 8 characters. It must contain at least 1 uppercase, 1 lowercase, 1 number and 1 special character.")) { + } else if (ActiveEntry.errorMessages.equals('password', Session.get('passwordWarning'))) { return "border: 1px solid #f2dede"; } else if (ActiveEntry.successMessages.equals('password', "Password present")) { return "border: 1px solid green"; @@ -117,7 +117,6 @@ Template.entrySignIn.events({ // ActiveEntry.signIn(emailValue, passwordValue); // }, 'click #signInToAppButton': function (event, template){ - console.log('click #signInToAppButton'); ActiveEntry.reset(); // var emailValue = template.$('[name=email]').val(); // var passwordValue = template.$('[name=password]').val(); @@ -126,6 +125,18 @@ Template.entrySignIn.events({ ActiveEntry.signIn(emailValue, passwordValue); event.preventDefault(); + }, + 'keypress #entrySignIn': function(event, template) { + if(event.keyCode == 13) { + ActiveEntry.verifyEmail($("#signInPageEmailInput").val()); + ActiveEntry.verifyPassword($("#signInPagePasswordInput").val()); + + if (!ActiveEntry.errorMessages.get('signInError') && + ActiveEntry.successMessages.get('email') && + ActiveEntry.successMessages.get('password')) { + $("#signInToAppButton").click(); + } + } } }); diff --git a/Packages/active-entry/components/entrySignUp/entrySignUp.html b/Packages/active-entry/components/entrySignUp/entrySignUp.html index 9681464a9..b84c44103 100755 --- a/Packages/active-entry/components/entrySignUp/entrySignUp.html +++ b/Packages/active-entry/components/entrySignUp/entrySignUp.html @@ -10,7 +10,7 @@

Join.

{{getSignUpMessage}}
-
+