(function() { 'use strict' angular.module('acufuel') .controller('AccountSettingController', [ '$scope', '$filter', '$rootScope', '$state', 'AccountSettingService', AccountSettingController]); function AccountSettingController($scope, $filter, $rootScope, $state, AccountSettingService) { $scope.addArray = []; $scope.userData = {}; getAdditionalAccounts(); function getAdditionalAccounts() { AccountSettingService.getAdditionalAccounts().then(function(result) { $scope.additionalAccounts = result; }) } $scope.userid = JSON.parse(localStorage.getItem('userProfileId')); //call this function after upload data function getLoginUserData(){ if($scope.userid && $scope.userid != null && $scope.userid != undefined){ var id = $scope.userid; AccountSettingService.loginUserData(id).then(function(result) { if(result.userTimeZone.slice(0,1)==="P"){ result.userTimeZone = result.userTimeZone.replace("P","+"); }else if(result.userTimeZone.slice(0,1)==="M"){ result.userTimeZone = result.userTimeZone.replace("M","-"); } $scope.userData = result; $scope.userData.status = $scope.userData.account.user.status.toLowerCase(); $scope.userData.userType = $scope.userData.userType.type.toLowerCase(); }) } } getLoginUserData(); AccountSettingService.getProducts().then(function(result) { $scope.productList = result; for(var i=0;i<$scope.productList.length;i++){ var obj = { id : $scope.productList[i].id, name : $scope.productList[i].name, status : $scope.productList[i].status } $scope.addArray.push(obj); } }) $scope.productData = {}; $scope.productData.productList = []; $scope.checkProduct = function(productlist, product, index){ $scope.addArray[index].id = productlist[index].id; $scope.addArray[index].name = productlist[index].name; $scope.addArray[index].status = productlist[index].status; $scope.productData.productList = $scope.addArray; // console.log($scope.productData) } $scope.updateUser = function(){ window.localStorage.setItem('userTimeZone',JSON.stringify($scope.userData.userTimeZone)); //Database not save the = and - sign of timezone offset if($scope.userData.userTimeZone.slice(0,1)==="+"){ $scope.userData.userTimeZone = $scope.userData.userTimeZone.replace("+","P"); }else if($scope.userData.userTimeZone.slice(0,1)==="-"){ $scope.userData.userTimeZone = $scope.userData.userTimeZone.replace("-","M"); } var updateData = "companyName=" + $scope.userData.companyName + "&username=" + $scope.userData.username + "&firstName=" + $scope.userData.firstName + "&lastName=" + $scope.userData.lastName + "&phone=" + $scope.userData.phone + "&mobile=" + $scope.userData.mobile + "&status=" + $scope.userData.status + "&userType=" + $scope.userData.userType + "&userTypeId=" + $scope.userData.userType.id + "&userProfileId=" + $scope.userid + "&userTimeZone=" + $scope.userData.userTimeZone; // console.log("======updateData===",updateData) AccountSettingService.updateUserProfile(updateData).then(function(result) { AccountSettingService.updateProducts($scope.productData).then(function(result) { toastr.success(''+result.success+'', { closeButton: true }); window.localStorage.setItem('currentUserName', JSON.stringify($scope.userData.firstName +' '+ $scope.userData.lastName)); window.localStorage.setItem('companyName', JSON.stringify($scope.userData.companyName)); $scope.currentUserName = JSON.parse(localStorage.getItem('currentUserName')); $scope.companyName= JSON.parse(localStorage.getItem('companyName')); $scope.userTimeZone = JSON.parse(localStorage.getItem('userTimeZone')); //console.log("====value after update===",$scope.userTimeZone ) window.localStorage.removeItem('userTime'); $scope.testFunction(); getLoginUserData(); }) }) } $scope.accountdata = {}; $scope.accountdata.userName = ''; $scope.accountdata.status = true; $scope.addAccount = function(){ $('#demo-modal').css('display', 'block'); $scope.accountdata.status = true; } $scope.cancelAddAccount = function(){ $scope.accountdata = {}; $('#demo-modal').css('display', ''); } $scope.checkEmail = function(email, type) { //console.log(type) AccountSettingService.checkEmail(email).then(function(result) { if(result.status == 'ACTIVE'){ toastr.error('Email already exists.', { closeButton: true }) if(type == 'additional'){ $scope.accountdata.userName = ''; } } }) } $scope.additionalAccnObj = {}; $scope.createAddAccount = function(){ $scope.accountdata.status = true; if ($scope.accountdata.userName === '') { toastr.error('Please enter all the fields.', { closeButton: true }) }else{ if (validateEmail($scope.accountdata.userName)) { //console.log("checkbox",$scope.accountdata.allowEpd ,$scope.accountdata.allowFma) AccountSettingService.addAdditionalAccount($scope.accountdata).then(function(result) { getAdditionalAccounts(); $scope.accountdata = {}; $('#demo-modal').css('display', ''); toastr.success(''+result.success+'', { closeButton: true }) }) }else{ toastr.error('Please enter valid email.', { closeButton: true }) } } } /*Validate Email */ function validateEmail(email) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); } $scope.changeStatus = function(id, index){ event.stopPropagation(); var id = id; var statusData = "status=" + $scope.additionalAccounts[index].status + "&id=" + $scope.additionalAccounts[index].id + "&firstName=" + $scope.additionalAccounts[index].firstName + "&lastName=" + $scope.additionalAccounts[index].lastName + "&username=" + $scope.additionalAccounts[index].userName + "&password=" + $scope.additionalAccounts[index].password + "&allowEpd=" + $scope.additionalAccounts[index].allowEpd + "&allowFma=" + $scope.additionalAccounts[index].allowFma; AccountSettingService.updateStatus(statusData).then(function(result) { if(result.success){ toastr.success('Updated Successfully', { closeButton: true }) } }) } var deleteAccnId = ""; $scope.deleteAdditionalAccount = function(id) { $('#delete1').css('display', 'block'); deleteAccnId = id; } $scope.accnDelete = function(){ AccountSettingService.deleteAccount(deleteAccnId).then(function(result) { getAdditionalAccounts(); $('#delete1').css('display', 'none'); if(result.success){ toastr.success('Deleted Successfully', { closeButton: true }) } }) } $scope.cancelDelete = function(){ $('#delete1').css('display', 'none'); } $scope.resetPassword = function(email) { //console.log("emailid",email) AccountSettingService.resetPassword(email).then(function(result){ if(typeof result == 'object') { toastr.info("Password generated successfully. Please check your email for new password"); //localStorage.setItem('requiredChangePwd', "Y"); //$state.go('login'); } else { toastr.info("Error in generating password"); } }) } $scope.timeZoneList = [{name:'(GMT-12:00) International Date Line West',value:'-12.00'}, {name:'(GMT-11:00) Midway Island, Samoa',value:'-11.00'}, {name:'(GMT-10:00) Hawaii',value :'-10.00'}, {name:'(GMT-09:30) Pacific/Marquesas (French Polynesia)',value :'-09.30'}, {name:'(GMT-09:00) Pacific/Gambier(French Polynesia)(US)',value :'-09.00'}, {name:'(GMT-08:00) Alaska',value :'-08.00'}, {name:'(GMT-07:00) Arizona,(US and Canada)',value :'-07.00'}, {name:'(GMT-06:00) (Central America),Chihuahua,Saskatchewan,Ecuador',value :'-06.00'}, {name:'(GMT-05:00) Central Time (US and Canada) Bogota, Mexico City,Lima,Brazil, Quito',value :'-05.00'}, {name:'(GMT-04:00) Eastern Time (US and Canada),Caracas, La Paz,Indiana (East)',value :'-04.00'}, {name:'(GMT-03:00) Atlantic Time (Canada),Santiago,Brasilia,Buenos Aires',value :'-03.00'}, {name:'(GMT-02:30) Newfoundland and Labrador,(Canada)',value :'-02.30'}, {name:'(GMT-02:00) Mid-Atlantic,Greenland',value :'-02.00'}, {name:'(GMT-01:00) Cape Verde Islands',value :'-01.00'}, {name:'(GMT) Azores,Dublin, Edinburgh, Lisbon, London',value :'00.00'}, {name:'(GMT+01:00) West Central Africa,Canary Islands,Casablanca, Monrovia',value :'+01.00'}, {name:'(GMT+02:00) Brussels,Amsterdam,Harare,Madrid,Paris,Cairo,Belgrade',value :'+02.00'}, {name:'(GMT+03:00) Moscow,Jerusalem,St.Petersburg, Athens,Baghdad,Kuwait,Helsinki,Nairobi',value :'+03.00'}, {name:'(GMT+04:00) Armenia,Azerbaijan,UAE,(Russia)',value :'+04.00'}, {name:'(GMT+04:30) Kabul,(Afghanistan)',value :'+04.30'}, {name:'(GMT+05:00) Islamabad, Karachi, Tashkent (Pakistan)',value :'+05.00'}, {name:'(GMT+05:30) Chennai,New Delhi(India),(Sri Lanka)',value :'+05.30'}, {name:'(GMT+05:45) Kathmandu (Nepal)',value :'+05.45'}, {name:'(GMT+06:00) Astana,Kazakhstan,Dhaka(Bangladesh),(Bhutan),(Russia)',value :'+06.00'}, {name:'(GMT+06:30) Yangon Rangoon (Myanmar)',value :'+06.30'}, {name:'(GMT+07:00) Laos,Krasnoyarsk,Hanoi,Bangkok(Thailand),Jakarta(Indonesia)',value :'+07.00'}, {name:'(GMT+08:00) Perth(Western Australia),Beijing(China),Kuala Lumpur(Singapore),(Malaysia)',value :'+08.00'}, {name:'(GMT+08:45) Australia/Eucla',value :'+08.45'}, {name:'(GMT+09:00) Japan/North Korea/South Korea/East Timor',value :'+09.00'}, {name:'(GMT+09:30) Adelaide/Darwin(Australia)',value :'+09.30' }, {name:'(GMT+10:00) Guam, Port Moresby,Hobart,Vladivostok,Brisbane,Melbourne(Australia),Papua New Guinea',value :'+10.00'}, {name:'(GMT+10:30) Australia/Lord_Howe',value :'+10.30'}, {name:'(GMT+11:00) Magadan, Solomon Islands, New Caledonia',value :'+11.00'}, {name:'(GMT+12:00) Auckland, Wellington,Fiji Islands, Kamchatka, Marshall Islands',value :'+12.00'}, {name:'(GMT+12:45) Pacific/Chatham, New Zealand',value :'+12.45'}, {name:'(GMT+13:00) Nuku alofa,Samoa,Tonga',value :'+13.00'}, {name:'(GMT+14:00) Pacific/Kiritimati',value :'+14.00'}] } })();