diff --git a/webadmin/src/views/settings.html b/webadmin/src/views/settings.html index 407076a53..d541ed13a 100644 --- a/webadmin/src/views/settings.html +++ b/webadmin/src/views/settings.html @@ -156,25 +156,27 @@

This certificate has to be wildcard certificates and will be used for all apps, which were not configured to use a specific certificate.

-
+
{{ defaultCert.error }}
+
Upload successful
+
- +
-
+
- +
- +
@@ -185,25 +187,27 @@

This certificate will be used for this Settings application.

-
+
{{ adminCert.error }}
+
Upload successful
+
- +
-
+
- +
- +
diff --git a/webadmin/src/views/settings.js b/webadmin/src/views/settings.js index 8cbe01df6..a495e4c7e 100644 --- a/webadmin/src/views/settings.js +++ b/webadmin/src/views/settings.js @@ -84,6 +84,9 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca }; $scope.defaultCert = { + error: null, + success: false, + busy: false, certificateFile: null, certificateFileName: '', keyFile: null, @@ -91,6 +94,9 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca }; $scope.adminCert = { + error: null, + success: false, + busy: false, certificateFile: null, certificateFileName: '', keyFile: null, @@ -119,14 +125,40 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca document.getElementById('adminKeyFileInput').onchange = readFileLocally($scope.adminCert, 'keyFile', 'keyFileName'); $scope.setDefaultCert = function () { + $scope.defaultCert.busy = true; + $scope.defaultCert.error = null; + $scope.defaultCert.success = false; + Client.setCertificate($scope.defaultCert.certificateFile, $scope.defaultCert.keyFile, function (error) { - if (error) return console.error(error); + if (error) { + $scope.defaultCert.error = error.message; + console.error(error); + } else { + $scope.defaultCert.success = true; + $scope.defaultCert.certificateFileName = ''; + $scope.defaultCert.keyFileName = ''; + } + + $scope.defaultCert.busy = false; }); }; $scope.setAdminCert = function () { + $scope.adminCert.busy = true; + $scope.adminCert.error = null; + $scope.adminCert.success = false; + Client.setAdminCertificate($scope.adminCert.certificateFile, $scope.adminCert.keyFile, function (error) { - if (error) return console.error(error); + if (error) { + $scope.adminCert.error = error.message; + console.error(error); + } else { + $scope.adminCert.success = true; + $scope.adminCert.certificateFileName = ''; + $scope.adminCert.keyFileName = ''; + } + + $scope.adminCert.busy = false; }); };