From 254ed32b5bf6be0fc3a73d4da5bad989c0693d3b Mon Sep 17 00:00:00 2001 From: Ryan Lane Date: Fri, 13 Dec 2019 14:32:04 -0800 Subject: [PATCH] Support ACLs for get_credential in the UI (#225) --- .../controllers/CredentialDetailsCtrl.js | 27 ++++++++++++++++--- .../resources/views/credential-details.html | 19 ++++++++++--- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/confidant/public/modules/resources/controllers/CredentialDetailsCtrl.js b/confidant/public/modules/resources/controllers/CredentialDetailsCtrl.js index 8b062904..fdb30f31 100644 --- a/confidant/public/modules/resources/controllers/CredentialDetailsCtrl.js +++ b/confidant/public/modules/resources/controllers/CredentialDetailsCtrl.js @@ -45,7 +45,12 @@ var credentialCopy = null; $scope.$log = $log; $scope.saveError = ''; + $scope.getError = ''; $scope.credentialPairConflicts = null; + $scope.hasMetadata = false; + $scope.hasView = false; + // TODO: get this from the credential return + $scope.hasModify = true; if ($stateParams.credentialId) { CredentialServices.get({'id': $stateParams.credentialId}).$promise.then(function(credentialServices) { @@ -55,10 +60,16 @@ Credential.get({'id': $stateParams.credentialId}).$promise.then(function(credential) { var _credentialPairs = [], _metadata = []; - angular.forEach(credential.credential_pairs, function(value, key) { - this.push({'key': key, 'value': value}); - }, _credentialPairs); - credential.credentialPairs = _credentialPairs; + if (credential.credential_pairs) { + angular.forEach(credential.credential_pairs, function(value, key) { + this.push({'key': key, 'value': value}); + }, _credentialPairs); + credential.credentialPairs = _credentialPairs; + $scope.hasView = true; + } + if (credential.credential_keys) { + $scope.hasMetadata = true; + } angular.forEach(credential.metadata, function(value, key) { this.push({'key': key, 'value': value}); }, _metadata); @@ -67,6 +78,14 @@ $scope.credential = credential; credentialCopy = angular.copy($scope.credential); $scope.shown = false; + }, function(res) { + if (res.status === 500) { + $scope.getError = 'Unexpected server error.'; + $log.error(res); + } else { + $scope.getError = res.data.error; + } + deferred.reject(); }); } else { $scope.credential = { diff --git a/confidant/public/modules/resources/views/credential-details.html b/confidant/public/modules/resources/views/credential-details.html index 6cf0da7d..8687121e 100644 --- a/confidant/public/modules/resources/views/credential-details.html +++ b/confidant/public/modules/resources/views/credential-details.html @@ -28,7 +28,10 @@

Please ensure credential pair keys are unique for the mapped services, then try again.

-
+
+

{{ getError }}

+
+
@@ -38,7 +41,17 @@ {{ credential.enabled }}
-
+
+ +
+
    +
  • + {{ credentialKey }} +
  • +
+
+
+
@@ -148,7 +161,7 @@
- +