Merge pull request #1041 from jakemcdermott/fix-multicred-bugs

Fix multicred bugs
This commit is contained in:
Jake McDermott
2018-01-23 13:34:35 -05:00
committed by GitHub
2 changed files with 11 additions and 7 deletions

View File

@@ -145,7 +145,7 @@ function multiCredentialModalController(GetBasePath, qs, MultiCredentialService)
if(isReadOnly(credential) && credentialTypeId !== types.Vault) { if(isReadOnly(credential) && credentialTypeId !== types.Vault) {
const index = displayedCredentialTypes const index = displayedCredentialTypes
.map(t => t.id).indexOf(credential.credential_type); .map(t => t.id).indexOf(credentialTypeId);
if (index > -1) { if (index > -1) {
displayedCredentialTypes.splice(index, 1); displayedCredentialTypes.splice(index, 1);
@@ -199,7 +199,7 @@ function multiCredentialModalController(GetBasePath, qs, MultiCredentialService)
scope.modalSelectedCredentials = _.cloneDeep(scope.selectedCredentials); scope.modalSelectedCredentials = _.cloneDeep(scope.selectedCredentials);
}; };
vm.removeCredential = id => { vm.removeCredential = ({ id }) => {
const index = scope.modalSelectedCredentials.map(c => c.id).indexOf(id); const index = scope.modalSelectedCredentials.map(c => c.id).indexOf(id);
const isSelected = index > -1; const isSelected = index > -1;
@@ -227,13 +227,17 @@ function multiCredentialModalController(GetBasePath, qs, MultiCredentialService)
return; return;
} }
if (credential.credential_type === types.Vault) { const credentialTypeId = credential.credential_type || credential.credential_type_id;
if (credentialTypeId === types.Vault) {
const vaultId = _.get(credential, 'inputs.vault_id');
scope.modalSelectedCredentials = scope.modalSelectedCredentials scope.modalSelectedCredentials = scope.modalSelectedCredentials
.filter(({ inputs }) => inputs.vault_id !== credential.inputs.vault_id) .filter(c => (c.credential_type !== types.Vault) || (c.inputs.vault_id !== vaultId))
.concat([credential]); .concat([credential]);
} else { } else {
scope.modalSelectedCredentials = scope.modalSelectedCredentials scope.modalSelectedCredentials = scope.modalSelectedCredentials
.filter(({ credential_type }) => credential_type !== credential.credential_type) .filter(({ credential_type }) => credential_type !== credentialTypeId)
.concat([credential]); .concat([credential]);
} }
}; };

View File

@@ -7,7 +7,7 @@
</div> </div>
<div class="Form-header--fields"></div> <div class="Form-header--fields"></div>
<div class="Form-exitHolder"> <div class="Form-exitHolder">
<button type="button" class="Form-exit" ng-click="cancelForm()"> <button type="button" class="Form-exit" ng-click="vm.cancelForm()">
<i class="fa fa-times-circle"></i> <i class="fa fa-times-circle"></i>
</button> </button>
</div> </div>
@@ -23,7 +23,7 @@
<div class="MultiCredential-flexContainer"> <div class="MultiCredential-flexContainer">
<div class="MultiCredential-tagContainer ng-scope" ng-repeat="tag in tags track by $index"> <div class="MultiCredential-tagContainer ng-scope" ng-repeat="tag in tags track by $index">
<div class="MultiCredential-deleteContainer" <div class="MultiCredential-deleteContainer"
ng-click="vm.deselectCredential(tag)" ng-click="vm.removeCredential(tag)"
ng-hide="fieldIsDisabled || tag.readOnly"> ng-hide="fieldIsDisabled || tag.readOnly">
<i class="fa fa-times MultiCredential-tagDelete"></i> <i class="fa fa-times MultiCredential-tagDelete"></i>
</div> </div>