Merge pull request #146 from jaredevantabor/users-permissions

Users/Teams permissions links
This commit is contained in:
Jared Tabor
2017-08-02 09:35:33 -07:00
committed by GitHub
5 changed files with 52 additions and 12 deletions

View File

@@ -106,6 +106,12 @@ angular.module('inventory', [
}, },
resolve: { resolve: {
edit: { edit: {
smartInventoryRedirect: ['resourceData', '$state', '$stateParams',
function(resourceData, $state, $stateParams){
if(resourceData.data.kind === "smart"){
$state.go("inventories.editSmartInventory", {"smartinventory_id": $stateParams.inventory_id}, {reload: true});
}
}],
InstanceGroupsData: ['$stateParams', 'Rest', 'GetBasePath', 'ProcessErrors', InstanceGroupsData: ['$stateParams', 'Rest', 'GetBasePath', 'ProcessErrors',
function($stateParams, Rest, GetBasePath, ProcessErrors){ function($stateParams, Rest, GetBasePath, ProcessErrors){
let path = `${GetBasePath('inventory')}${$stateParams.inventory_id}/instance_groups/`; let path = `${GetBasePath('inventory')}${$stateParams.inventory_id}/instance_groups/`;

View File

@@ -84,11 +84,28 @@ export default ['$scope', '$rootScope', '$stateParams', 'TeamForm', 'Rest',
init(); init();
$scope.convertApiUrl = function(str) { $scope.redirectToResource = function(resource) {
if (str) { let type = resource.summary_fields.resource_type.replace(/ /g , "_");
return str.replace(/api\/v\d+/, "#"); var id = resource.related[type].split("/")[4];
} else { switch (type) {
return null; case 'organization':
$state.go('organizations.edit', { "organization_id": id }, { reload: true });
break;
case 'credential':
$state.go('credentials.edit', { "credential_id": id }, { reload: true });
break;
case 'project':
$state.go('projects.edit', { "project_id": id }, { reload: true });
break;
case 'inventory':
$state.go('inventories.edit', { "inventory_id": id }, { reload: true });
break;
case 'job_template':
$state.go('templates.editJobTemplate', { "job_template_id": id }, { reload: true });
break;
case 'workflow_job_template':
$state.go('templates.editWorkflowJobTemplate', { "workflow_job_template_id": id }, { reload: true });
break;
} }
}; };
} }

View File

@@ -123,7 +123,7 @@ export default ['i18n', function(i18n) {
name: { name: {
label: i18n._('Name'), label: i18n._('Name'),
ngBind: 'permission.summary_fields.resource_name', ngBind: 'permission.summary_fields.resource_name',
linkTo: '{{convertApiUrl(permission.related[permission.summary_fields.resource_type])}}', ngClick: "redirectToResource(permission)",
nosort: true nosort: true
}, },
type: { type: {

View File

@@ -125,11 +125,28 @@ export default ['$scope', '$rootScope', '$stateParams', 'UserForm', 'Rest',
return; return;
} }
$scope.convertApiUrl = function(str) { $scope.redirectToResource = function(resource) {
if (str) { let type = resource.summary_fields.resource_type.replace(/ /g , "_");
return str.replace(/api\/v\d+/, "#"); var id = resource.related[type].split("/")[4];
} else { switch (type) {
return null; case 'organization':
$state.go('organizations.edit', { "organization_id": id }, { reload: true });
break;
case 'credential':
$state.go('credentials.edit', { "credential_id": id }, { reload: true });
break;
case 'project':
$state.go('projects.edit', { "project_id": id }, { reload: true });
break;
case 'inventory':
$state.go('inventories.edit', { "inventory_id": id }, { reload: true });
break;
case 'job_template':
$state.go('templates.editJobTemplate', { "job_template_id": id }, { reload: true });
break;
case 'workflow_job_template':
$state.go('templates.editWorkflowJobTemplate', { "workflow_job_template_id": id }, { reload: true });
break;
} }
}; };

View File

@@ -190,7 +190,7 @@ export default ['i18n', function(i18n) {
name: { name: {
label: i18n._('Name'), label: i18n._('Name'),
ngBind: 'permission.summary_fields.resource_name', ngBind: 'permission.summary_fields.resource_name',
linkTo: '{{convertApiUrl(permission.related[permission.summary_fields.resource_type])}}', ngClick: "redirectToResource(permission)",
nosort: true nosort: true
}, },
type: { type: {