diff --git a/webadmin/src/views/certs.html b/webadmin/src/views/certs.html
index 301e4ed5a..af8d8f293 100644
--- a/webadmin/src/views/certs.html
+++ b/webadmin/src/views/certs.html
@@ -1,3 +1,33 @@
+
+
diff --git a/webadmin/src/views/certs.js b/webadmin/src/views/certs.js
index b0b4fec51..68ef26a8e 100644
--- a/webadmin/src/views/certs.js
+++ b/webadmin/src/views/certs.js
@@ -4,6 +4,7 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
Client.onReady(function () { if (!Client.getUserInfo().admin) $location.path('/'); });
$scope.config = Client.getConfig();
+ $scope.dnsConfig = null;
$scope.defaultCert = {
error: null,
@@ -29,7 +30,6 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
error: null,
success: false,
busy: false,
- formVisible: false,
accessKeyId: '',
secretAccessKey: '',
provider: 'route53'
@@ -95,11 +95,6 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
});
};
- $scope.hideDnsCredentialsForm = function () {
- $('#collapseDnsCredentialsForm').collapse('hide');
- $scope.dnsCredentials.formVisible = false;
- };
-
$scope.setDnsCredentials = function () {
$scope.dnsCredentials.busy = true;
$scope.dnsCredentials.error = null;
@@ -120,28 +115,35 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
$scope.dnsConfig.accessKeyId = $scope.dnsCredentials.accessKeyId;
$scope.dnsConfig.secretAccessKey = $scope.dnsCredentials.secretAccessKey;
- $scope.dnsCredentials.accessKeyId = '';
- $scope.dnsCredentials.secretAccessKey = '';
+ $('#dnsCredentialsModal').modal('hide');
- $scope.hideDnsCredentialsForm();
+ dnsCredentialsReset();
}
$scope.dnsCredentials.busy = false;
});
};
- $scope.showDnsCredentialsForm = function () {
+ function dnsCredentialsReset() {
$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.showChangeDnsCredentials = function () {
+ dnsCredentialsReset();
+
+ $scope.dnsCredentials.accessKeyId = $scope.dnsConfig.accessKeyId;
+
+ $('#dnsCredentialsModal').modal('show');
};
Client.onReady(function () {
@@ -151,4 +153,11 @@ angular.module('Application').controller('CertsController', ['$scope', '$locatio
$scope.dnsConfig = result;
});
});
+
+ // setup all the dialog focus handling
+ ['dnsCredentialsModal'].forEach(function (id) {
+ $('#' + id).on('shown.bs.modal', function () {
+ $(this).find("[autofocus]:first").focus();
+ });
+ });
}]);