Removed extra GET call for extra creds when user cannot edit JT

Signed-off-by: mabashian <mabashia@redhat.com>
This commit is contained in:
mabashian
2017-09-15 11:54:42 -04:00
parent 549737405b
commit 8b7639fd3a

View File

@@ -378,71 +378,51 @@ export default
$scope.selectedCredentials.vault = jobTemplateData.summary_fields.vault_credential; $scope.selectedCredentials.vault = jobTemplateData.summary_fields.vault_credential;
} }
// Extra credentials are not included in summary_fields so we have to go if (jobTemplateData.summary_fields.extra_credentials) {
// out and get them ourselves. $scope.selectedCredentials.extra = jobTemplateData.summary_fields.extra_credentials;
}
let defers = [], MultiCredentialService.getCredentialTypes()
typesArray = [],
credTypeOptions;
Rest.setUrl(jobTemplateData.related.extra_credentials);
defers.push(Rest.get()
.then((data) => {
$scope.selectedCredentials.extra = data.data.results;
})
.catch(({data, status}) => {
ProcessErrors(null, data, status, null,
{
hdr: 'Error!',
msg: 'Failed to get extra credentials. ' +
'Get returned status: ' +
status
});
}));
defers.push(MultiCredentialService.getCredentialTypes()
.then(({credential_types, credentialTypeOptions}) => { .then(({credential_types, credentialTypeOptions}) => {
typesArray = Object.keys(credential_types).map(key => credential_types[key]); let typesArray = Object.keys(credential_types).map(key => credential_types[key]);
credTypeOptions = credentialTypeOptions; let credTypeOptions = credentialTypeOptions;
})
);
let machineAndVaultCreds = [],
extraCreds = [];
return $q.all(defers).then(() => { if($scope.selectedCredentials.machine) {
let machineAndVaultCreds = [], machineAndVaultCreds.push($scope.selectedCredentials.machine);
extraCreds = []; }
if($scope.selectedCredentials.vault) {
machineAndVaultCreds.push($scope.selectedCredentials.vault);
}
if($scope.selectedCredentials.machine) { machineAndVaultCreds.map(cred => ({
machineAndVaultCreds.push($scope.selectedCredentials.machine); name: cred.name,
} id: cred.id,
if($scope.selectedCredentials.vault) { postType: cred.postType,
machineAndVaultCreds.push($scope.selectedCredentials.vault); kind: typesArray
} .filter(type => {
return cred.kind === type.kind || parseInt(cred.credential_type) === type.value;
})[0].name + ":"
}));
machineAndVaultCreds.map(cred => ({ if($scope.selectedCredentials.extra && $scope.selectedCredentials.extra.length > 0) {
name: cred.name, extraCreds = extraCreds.concat($scope.selectedCredentials.extra).map(cred => ({
id: cred.id, name: cred.name,
postType: cred.postType, id: cred.id,
kind: typesArray postType: cred.postType,
.filter(type => { kind: credTypeOptions
return cred.kind === type.kind || parseInt(cred.credential_type) === type.value; .filter(type => {
})[0].name + ":" return parseInt(cred.credential_type_id) === type.value;
})); })[0].name + ":"
}));
}
extraCreds = extraCreds.concat($scope.selectedCredentials.extra).map(cred => ({ $scope.credentialsToPost = machineAndVaultCreds.concat(extraCreds);
name: cred.name,
id: cred.id,
postType: cred.postType,
kind: credTypeOptions
.filter(type => {
return parseInt(cred.credential_type) === type.value;
})[0].name + ":"
}));
$scope.credentialsToPost = machineAndVaultCreds.concat(extraCreds); $scope.$emit('jobTemplateLoaded', master);
});
$scope.$emit('jobTemplateLoaded', master);
});
} }
}); });