client-ui
Version:
Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront
91 lines (83 loc) • 3.1 kB
JavaScript
/* global moduleName */
(function () {
'use strict';
angular.module(moduleName).controller('passwordResetController', passwordResetController);
passwordResetController.$inject = ['$state', '$stateParams', 'AuthStateFactory', '$scope', 'loan'];
function passwordResetController($state, $stateParams, auth, $scope, loanService) {
var self = this;
self.errorCode = false;
self.responseMessage = false;
self.invalidMessages = false;
self.submitted = false;
self.input = {};
self.strwk = "";
self.init = function() {
self.setWatches();
};
self.submit = function (formInput) {
self.submitted = true;
self.errorCode = false;
if (formInput.password !== formInput.confirmPassword) {
self.errorCode = "PASSWORD_MISMATCH";
return;
}
if (self.resetform.$invalid) {
return;
}
var clientId = $stateParams.u;
var hash = $stateParams.k;
auth.passwordReset(clientId, hash, formInput.password)
.then(function (clientData) {
return loanService.getLoansByClient(clientData.clientId).then(function () {
$state.go(loanService.getNextStep(), {messages: "PASSWORD_RESET"});
}, function () {
self.working = false;
});
}, function(error) {
self.errorCode = true;
if (error.hasOwnProperty('code')) {
self.errorCode = error.code;
}
});
};
self.evaluateScore = function() {
if (self.hasOwnProperty('score')) {
switch (self.score) {
case false:
self.strwk = "";
break;
case 0:
self.strwk = "Very Weak";
break;
case 25:
self.color = "progress-bar-danger";
self.strwk = "Weak";
break;
case 50:
self.color = "progress-bar-warning";
self.strwk = "Average";
break;
case 75:
self.color = "progress-bar-info";
self.strwk = "Strong";
break;
case 100:
self.color = "progress-bar-success";
self.strwk = "Very Strong";
break;
}
}
};
self.setWatches = function() {
$scope.$watch(
function() {
return self.score;
},
function( newValue ) {
self.evaluateScore();
},
true
);
};
}
})();