UNPKG

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
(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()); }; } }());