3 class AccountAddDetailsCtrl {
4 constructor($scope, $log, $interval, basicAuthAccountSerivce, errorMessageByCode, ECOMP_URL_REGEX, $window, confirmBoxService, $cookies) {
7 this.addEndpoint = () => {
8 this.account.endpointList.push({
15 this.account.endpointList = [];
16 this.passwordMatched = true;
17 this.dupliateName = false;
18 this.emptyAccountName = false;
19 this.emptyAccountUsername = false;
20 this.accountList = $scope.ngDialogData.list;
22 if ($scope.ngDialogData && $scope.ngDialogData.account) {
23 this.isEditMode = true;
24 this.account = _.clone($scope.ngDialogData.account);
25 this.account.repassword = this.account.password;
26 this.account.endpointList = this.account.endpoints;
27 if(this.account.isActive == 'Y')
28 this.account.active = true;
30 this.account.active = false;
32 this.isEditMode = false;
33 this.account.active = true;
35 console.log(this.account);
38 let resetConflict = fieldName => {
39 delete this.conflictMessages[fieldName];
40 if($scope.widgetForm[fieldName]){
41 $scope.widgetForm[fieldName].$setValidity('conflict', true);
46 this.closeThisDialog = () => {
47 $scope.closeThisDialog(true);
50 this.removeEndpointItem = (endpoint) => {
51 for(var i = 0; i < this.account.endpointList.length; i++){
52 if(this.account.endpointList[i].name == endpoint.name){
53 this.account.endpointList.splice(i, 1);
59 this.confirmPassword = () => {
60 this.passwordMatched = true;
63 this.updateUsername = () => {
64 this.emptyAccountUsername = false;
67 this.updateAccountName = () => {
68 this.dupliateName = false;
69 for(var i = 0; i < this.accountList.length; i++){
70 if(this.accountList[i].applicationName == this.account.applicationName){
71 this.dupliateName = true;
77 this.updateAccountEndpoint = (endpoint) => {
78 endpoint.valid = true;
81 this.saveChanges = () => {
86 for(var i = 0; i < this.account.endpointList.length; i++){
87 if(this.account.endpointList[i].name == undefined
88 || this.account.endpointList[i].name == null
89 || this.account.endpointList[i].name == ""){
90 this.account.endpointList.splice(i, 1);
93 if(!this.account.endpointList[i].name.startsWith("/")){
94 this.account.endpointList[i].name = "/" + this.account.endpointList[i].name;
96 if(!r.test(this.account.endpointList[i].name)){
97 this.account.endpointList[i].valid = false;
104 if(this.account.applicationName == ''
105 || this.account.applicationName == undefined){
106 this.emptyAccountName = true;
110 if(this.account.username == ''
111 || this.account.username == undefined){
112 this.emptyAccountUsername = true;
116 if(this.dupliateName == true){
120 if(this.account.password != this.account.repassword){
121 this.passwordMatched = false;
131 if(this.account.active == true)
135 applicationName: this.account.applicationName,
136 username: this.account.username,
137 password: this.account.password,
138 endpoints: this.account.endpointList,
144 var message = "Are you sure you want to change '" + this.account.applicationName + "'?"
145 confirmBoxService.editItem(message).then(isConfirmed => {
147 basicAuthAccountSerivce.updateAccount(this.account.id, newAccount).then(() => {
148 $scope.closeThisDialog(true);
153 basicAuthAccountSerivce.createAccount(newAccount).then(() => {
154 $scope.closeThisDialog(true);
164 $scope.$on('$stateChangeStart', e => {
169 AccountAddDetailsCtrl.$inject = ['$scope', '$log', '$interval', 'basicAuthAccountSerivce', 'errorMessageByCode', 'ECOMP_URL_REGEX', '$window', 'confirmBoxService', '$cookies'];
170 angular.module('ecompApp').controller('AccountAddDetailsCtrl', AccountAddDetailsCtrl);