mirror of
https://github.com/ansible/awx.git
synced 2026-01-13 02:50:02 -03:30
Merge pull request #282 from mabashian/5092-cred-permissions
Credential permissions fixes
This commit is contained in:
commit
cfc83f5a23
@ -149,10 +149,10 @@ function LegacyCredentialsService (pathService) {
|
||||
'QuerySet',
|
||||
'$stateParams',
|
||||
'GetBasePath',
|
||||
(list, qs, $stateParams, GetBasePath) => {
|
||||
let path = GetBasePath(list.basePath) || GetBasePath(list.name);
|
||||
'resourceData',
|
||||
(list, qs, $stateParams, GetBasePath, resourceData) => {
|
||||
let path = resourceData.data.organization ? GetBasePath('organizations') + `${resourceData.data.organization}/users` : ((list.basePath) || GetBasePath(list.name));
|
||||
return qs.search(path, $stateParams.user_search);
|
||||
|
||||
}
|
||||
],
|
||||
teamsDataset: [
|
||||
@ -160,9 +160,19 @@ function LegacyCredentialsService (pathService) {
|
||||
'QuerySet',
|
||||
'$stateParams',
|
||||
'GetBasePath',
|
||||
(list, qs, $stateParams, GetBasePath) => {
|
||||
'resourceData',
|
||||
(list, qs, $stateParams, GetBasePath, resourceData) => {
|
||||
let path = GetBasePath(list.basePath) || GetBasePath(list.name);
|
||||
return qs.search(path, $stateParams.team_search);
|
||||
|
||||
if(!resourceData.data.organization) {
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
$stateParams[`${list.iterator}_search`].organization = resourceData.data.organization;
|
||||
return qs.search(path, $stateParams.team_search);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
],
|
||||
resourceData: ['CredentialModel', '$stateParams', (Credential, $stateParams) => {
|
||||
@ -198,7 +208,8 @@ function LegacyCredentialsService (pathService) {
|
||||
teams-dataset='$resolve.teamsDataset'
|
||||
selected='allSelected'
|
||||
resource-data='$resolve.resourceData'
|
||||
title='Add Users / Teams'>
|
||||
without-team-permissions='{{$resolve.resourceData.data.organization ? null : true}}'
|
||||
title='{{$resolve.resourceData.data.organization ? "Add Users / Teams" : "Add Users"}}'>
|
||||
</add-rbac-resource>`
|
||||
}
|
||||
},
|
||||
|
||||
@ -313,15 +313,58 @@ function($injector, $stateExtender, $log, i18n) {
|
||||
return qs.search(path, $stateParams[`${list.iterator}_search`]);
|
||||
}
|
||||
],
|
||||
credentialsDataset: ['CredentialList', 'QuerySet', '$stateParams', 'GetBasePath', 'resourceData',
|
||||
function(list, qs, $stateParams, GetBasePath, resourceData) {
|
||||
credentialsDataset: ['CredentialList', 'QuerySet', '$stateParams', 'GetBasePath', 'resourceData', 'Rest', '$q',
|
||||
function(list, qs, $stateParams, GetBasePath, resourceData, Rest, $q) {
|
||||
let path = GetBasePath(list.basePath) || GetBasePath(list.name);
|
||||
|
||||
if(resourceData.data.type === "team") {
|
||||
$stateParams[`${list.iterator}_search`].organization = resourceData.data.organization;
|
||||
}
|
||||
|
||||
return qs.search(path, $stateParams[`${list.iterator}_search`]);
|
||||
if(resourceData.data.type === "user") {
|
||||
|
||||
let resolve = $q.defer();
|
||||
|
||||
let getMoreOrgs = function(data, arr) {
|
||||
Rest.setUrl(data.next);
|
||||
Rest.get()
|
||||
.then(function (resData) {
|
||||
if (data.next) {
|
||||
getMoreOrgs(resData.data, arr.concat(resData.data.results));
|
||||
} else {
|
||||
resolve.resolve(arr.concat(resData.data.results));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Rest.setUrl(GetBasePath('users') + `${resourceData.data.id}/organizations?page_size=200`);
|
||||
Rest.get()
|
||||
.then(function(resData) {
|
||||
if (resData.data.next) {
|
||||
getMoreOrgs(resData.data, resData.data.results);
|
||||
} else {
|
||||
resolve.resolve(resData.data.results);
|
||||
}
|
||||
});
|
||||
|
||||
return resolve.promise.then(function (organizations) {
|
||||
if(organizations && organizations.length > 0) {
|
||||
let orgIds = _.map(organizations, function(organization){
|
||||
return organization.id;
|
||||
});
|
||||
|
||||
$stateParams[`${list.iterator}_search`].or__organization = 'null';
|
||||
$stateParams[`${list.iterator}_search`].or__organization__in = orgIds.join();
|
||||
|
||||
}
|
||||
|
||||
return qs.search(path, $stateParams[`${list.iterator}_search`]);
|
||||
});
|
||||
|
||||
}
|
||||
else {
|
||||
return qs.search(path, $stateParams[`${list.iterator}_search`]);
|
||||
}
|
||||
}
|
||||
],
|
||||
organizationsDataset: ['OrganizationList', 'QuerySet', '$stateParams', 'GetBasePath',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user