client-ui
Version:
Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront
113 lines (101 loc) • 4.51 kB
JavaScript
(function () {
'use strict';
angular.module(moduleName).controller('myProfileController', myProfileController);
myProfileController.$inject = ['$state', 'client', 'loan', '$filter', '$stateParams', 'util'];
function myProfileController($state, clientService, loanService, $filter, $stateParams, util) {
var self = this;
self.init = function() {
self.handleReason();
self.user = clientService.getClientStore();
self.currentLoan = loanService.getCurrentLoan();
if(self.currentLoan.bank && self.currentLoan.bank.accounts){
var servicingAccounts = $filter('filter')(self.currentLoan.bank.accounts, {servicing: true});
self.servicingAccount = servicingAccounts[0];
}
self.disableField = self.currentLoan.statusCode < 500;
if (self.user.KBAsAccepted !== true && self.currentLoan.statusCode <= 300) {
self.newLoan = true;
} else if(self.currentLoan.statusCode < 500) {
self.postClose = false;
} else if (self.currentLoan.statusCode >= 500){
self.postClose = true;
}
};
self.handleReason = function () {
switch ($stateParams.reason) {
case "CHANGE_EMAIL":
util.scrollToElement('#emailSection', 0);
self.editEmail = true;
break;
}
};
self.savePersonalInfo = function () {
if (self.personalInfoForm.$invalid) {
return;
}
self.workingPersonalInfo = true;
clientService.updateClient(self.user)
.then(function (client) {
self.editPersonalInfo = false;
self.invalidPersonalInfoMessage = "";
self.workingPersonalInfo = false;
self.user = client;
}, function (error) {
self.invalidPersonalInfoMessage = error.mesg;
self.workingPersonalInfo = false;
});
};
self.saveEmail = function () {
if (self.emailUpdateForm.$invalid) {
return;
}
if (self.user.email !== self.user.verifyEmail) {
self.invalidEmailMessage = "The two emails do not match";
return;
}
self.workingEmail = true;
clientService.updateEmail({email: self.user.email})
.then(function (res) {
self.editEmail = false;
self.invalidEmailMessage = "";
self.emailChanged = true;
self.workingEmail = false;
},function (error) {
self.invalidEmailMessage = error.mesg;
self.workingEmail = false;
self.emailChanged = false;
});
};
self.savePassword = function () {
if (self.passwordUpdateForm.$invalid) {
return;
} else if (self.passwordUpdateForm.newPassword !== self.passwordUpdateForm.verifyPassword) {
self.invalidPasswordMessage = "The passwords not match";
return;
}
var passwords = {
oldPassword: self.passwordUpdateForm.oldPassword,
newPassword: self.passwordUpdateForm.newPassword
};
self.workingPassword = true;
clientService.resetPassword(passwords)
.then(function (data) {
self.editPassword = false;
self.invalidPasswordMessage = "";
self.passwordUpdateForm.oldPassword = '';
self.passwordUpdateForm.newPassword = '';
self.passwordUpdateForm.verifyPassword = '';
self.workingPassword = false;
}, function (error) {
self.invalidPasswordMessage = error.mesg;
self.passwordUpdateForm.oldPassword = '';
self.passwordUpdateForm.newPassword = '';
self.passwordUpdateForm.verifyPassword = '';
self.workingPassword = false;
});
};
self.continue = function () {
$state.go(loanService.getNextStep());
};
}
}());