diff --git a/webadmin/src/views/settings.html b/webadmin/src/views/settings.html index 247d52b08..44935549e 100644 --- a/webadmin/src/views/settings.html +++ b/webadmin/src/views/settings.html @@ -224,23 +224,40 @@

Currently only Amazon Route53 is supported. The security credentials have to have access to the relevant Route53 zones.

-
-
-
{{ dnsCredentials.error }}
-
Update successful
-
- - -
-
- - -
+ + + + + + + + + + + + + +
Access Key Id{{ dnsConfig.accessKeyId }}
Secret Access Keyhidden
Done    
- -
-
+
+
+
+
{{ dnsCredentials.error }}
+ +
+ + +
+
+ + +
+ + +
+
+
diff --git a/webadmin/src/views/settings.js b/webadmin/src/views/settings.js index 199f2e2b3..c9872357d 100644 --- a/webadmin/src/views/settings.js +++ b/webadmin/src/views/settings.js @@ -5,6 +5,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca $scope.user = Client.getUserInfo(); $scope.config = Client.getConfig(); + $scope.dnsConfig = {}; $scope.lastBackup = null; $scope.backups = []; @@ -107,6 +108,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca error: null, success: false, busy: false, + formVisible: false, accessKeyId: '', secretAccessKey: '', provider: 'route53' @@ -185,8 +187,15 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca $scope.dnsCredentials.error = error.message; } else { $scope.dnsCredentials.success = true; + + $scope.dnsConfig.accessKeyId = $scope.dnsCredentials.accessKeyId; + $scope.dnsConfig.secretAccessKey = $scope.dnsCredentials.secretAccessKey; + $scope.dnsCredentials.accessKeyId = ''; $scope.dnsCredentials.secretAccessKey = ''; + + $('#collapseDnsCredentialsForm').collapse('hide'); + $scope.dnsCredentials.formVisible = false; } $scope.dnsCredentials.busy = false; @@ -338,6 +347,20 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca }); }; + $scope.showDnsCredentialsForm = function () { + $scope.dnsCredentials.busy = false; + $scope.dnsCredentials.success = false; + $scope.dnsCredentials.error = null; + $scope.dnsCredentials.accessKeyId = ''; + $scope.dnsCredentials.secretAccessKey = ''; + $scope.dnsCredentialsForm.$setPristine(); + $scope.dnsCredentialsForm.$setUntouched(); + + $scope.dnsCredentials.formVisible = true; + $('#collapseDnsCredentialsForm').collapse('show'); + $('#dnsCredentialsAccessKeyId').focus(); + }; + $scope.showChangeDeveloperMode = function () { developerModeChangeReset(); $('#developerModeChangeModal').modal('show'); @@ -373,6 +396,12 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca fetchBackups(); $scope.avatar.url = '//my-' + $scope.config.fqdn + '/api/v1/cloudron/avatar'; + + Client.getDnsConfig(function (error, result) { + if (error) return console.error(error); + + $scope.dnsConfig = result; + }); }); // setup all the dialog focus handling