- Add custom Reset Password template and reset password - Show the first error instead showing all errors of invalidated input values in Sign Up and changePassword templates
172 lines
6.2 KiB
JavaScript
Executable File
172 lines
6.2 KiB
JavaScript
Executable File
//==================================================================================================
|
|
// ROUTER
|
|
|
|
Router.route('/entrySignUp', {
|
|
template: 'entrySignUp',
|
|
name: 'entrySignUp'
|
|
});
|
|
Router.route('/sign-up', {
|
|
template: 'entrySignUp',
|
|
name: 'signUpRoute'
|
|
});
|
|
|
|
//==================================================================================================
|
|
|
|
|
|
|
|
Template.entrySignUp.helpers({
|
|
getSignUpMessageColor: function (){
|
|
if (ActiveEntry.errorMessages.get('signInError')) {
|
|
return "color: #a94442; background-color: #f2dede; border-color: #ebccd1;";
|
|
} else {
|
|
return "color: black;";
|
|
}
|
|
},
|
|
getSignUpMessage: function (){
|
|
if (ActiveEntry.errorMessages.get('signInError')) {
|
|
return ActiveEntry.errorMessages.get('signInError');
|
|
} else {
|
|
return Session.get('defaultSignInMessage');
|
|
}
|
|
},
|
|
entryErrorMessages: function () {
|
|
var allErrorMessages = Object.keys(ActiveEntry.errorMessages.all()).filter(function(key) {
|
|
return key !== "signInError" && ActiveEntry.errorMessages.get(key);
|
|
});
|
|
|
|
if (allErrorMessages.length > 0) {
|
|
var errorMessage = ActiveEntry.errorMessages.get(allErrorMessages[0]);
|
|
if (errorMessage) {
|
|
return [errorMessage];
|
|
}
|
|
}
|
|
|
|
return;
|
|
},
|
|
getButtonText: function () {
|
|
if (ActiveEntry.errorMessages.get('signInError')) {
|
|
return ActiveEntry.errorMessages.get('signInError').message;
|
|
} else {
|
|
return "Sign In";
|
|
}
|
|
},
|
|
getEmailStyling: function () {
|
|
if (ActiveEntry.errorMessages.equals('email', "Email is required")) {
|
|
return "border: 1px solid #a94442";
|
|
} else if (ActiveEntry.errorMessages.equals('email', "Email is poorly formatted")) {
|
|
return "border: 1px solid #f2dede";
|
|
} else if (ActiveEntry.successMessages.equals('email', "Email present")) {
|
|
return "border: 1px solid green";
|
|
} else {
|
|
return "border: 1px solid gray";
|
|
}
|
|
},
|
|
getPasswordStyling: function () {
|
|
if (ActiveEntry.errorMessages.equals('password', "Password is required")) {
|
|
return "border: 1px solid #a94442";
|
|
} 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";
|
|
} else {
|
|
return "border: 1px solid gray";
|
|
}
|
|
},
|
|
getConfirmPasswordStyling: function () {
|
|
if (ActiveEntry.errorMessages.equals('confirm', "Password is required")) {
|
|
return "border: 1px solid #a94442";
|
|
} else if (ActiveEntry.errorMessages.equals('confirm', "Passwords do not match")) {
|
|
return "border: 1px solid #a94442";
|
|
} else if (ActiveEntry.errorMessages.equals('confirm', "Password is weak")) {
|
|
return "border: 1px solid #f2dede";
|
|
} else if (ActiveEntry.successMessages.equals('confirm', "Passwords match")) {
|
|
return "border: 1px solid green";
|
|
} else {
|
|
return "border: 1px solid gray";
|
|
}
|
|
},
|
|
getFullNameStyling: function () {
|
|
if (ActiveEntry.errorMessages.equals('fullName', "Name is required")) {
|
|
return "border: 1px solid #a94442";
|
|
} else if (ActiveEntry.errorMessages.equals('fullName', "Name is probably not complete")) {
|
|
return "border: 1px solid #f2dede";
|
|
} else if (ActiveEntry.successMessages.equals('fullName', "Name present")) {
|
|
return "border: 1px solid green";
|
|
} else {
|
|
return "border: 1px solid gray";
|
|
}
|
|
}
|
|
});
|
|
|
|
Template.entrySignUp.events({
|
|
"click #signUpPageSignInButton": function (event) {
|
|
event.preventDefault();
|
|
ActiveEntry.reset();
|
|
Router.go('/entrySignIn');
|
|
},
|
|
'change, keyup #signUpPageEmailInput': function (event, template) {
|
|
var email = $('[name="email"]').val();
|
|
|
|
ActiveEntry.verifyEmail(email);
|
|
ActiveEntry.errorMessages.set('signInError', null);
|
|
},
|
|
'change, keyup #signUpPagePasswordInput': function (event, template) {
|
|
var password = $('[name="password"]').val();
|
|
|
|
ActiveEntry.verifyPassword(password);
|
|
ActiveEntry.errorMessages.set('signInError', null);
|
|
},
|
|
'change, keyup #signUpPagePasswordConfirmInput': function (event, template) {
|
|
|
|
var password = $('[name="password"]').val();
|
|
var confirmPassword = $('[name="confirm"]').val();
|
|
// var password = $('#signUpPagePasswordInput').val();
|
|
// var confirmPassword = $('#signUpPagePasswordConfirmInput').val();
|
|
|
|
ActiveEntry.verifyConfirmPassword(password, confirmPassword);
|
|
ActiveEntry.errorMessages.set('signInError', null);
|
|
},
|
|
'change, keyup #signUpPageFullNameInput': function (event, template) {
|
|
var fullName = template.$('[name="fullName"]').val();
|
|
|
|
ActiveEntry.verifyFullName(fullName);
|
|
ActiveEntry.errorMessages.set('signInError', null);
|
|
},
|
|
'click #signUpPageJoinNowButton': function (event, template) {
|
|
ActiveEntry.signUp(
|
|
$('#signUpPageEmailInput').val(),
|
|
$('#signUpPagePasswordInput').val(),
|
|
$('#signUpPagePasswordConfirmInput').val(),
|
|
$('#signUpPageFullNameInput').val()
|
|
);
|
|
},
|
|
'keyup #entrySignUp': function(event, template) {
|
|
if(event.keyCode == 13) {
|
|
ActiveEntry.verifyFullName($("#signUpPageFullNameInput").val());
|
|
ActiveEntry.verifyEmail($("#signUpPageEmailInput").val());
|
|
ActiveEntry.verifyPassword($("#signUpPagePasswordInput").val());
|
|
ActiveEntry.verifyConfirmPassword($("#signUpPagePasswordInput").val(), $("#signUpPagePasswordConfirmInput").val());
|
|
|
|
if (!ActiveEntry.errorMessages.get('signInError') &&
|
|
ActiveEntry.successMessages.get('fullName') &&
|
|
ActiveEntry.successMessages.get('email') &&
|
|
ActiveEntry.successMessages.get('password') &&
|
|
ActiveEntry.successMessages.get('confirm')) {
|
|
$("#signUpPageJoinNowButton").click();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
Template.entrySignUp.onRendered(function() {
|
|
// Password strength meter for password inputs
|
|
if (passwordValidationSettings.showPasswordStrengthIndicator) {
|
|
this.$('#signUpPagePasswordInput').pwstrength(passwordValidationSettings.pwstrengthOptions);
|
|
}
|
|
|
|
// Update password warning message if zxcvbn is active and zxcvbn function is defined
|
|
if(passwordValidationSettings.requireStrongPasswords) {
|
|
Session.set('passwordWarning', 'Password is weak');
|
|
}
|
|
});
|