fixing link from permissions list

This commit is contained in:
Jared Tabor 2017-08-01 20:14:49 -07:00
parent c1e16c2f46
commit 1206097399
5 changed files with 52 additions and 12 deletions

View File

@ -106,6 +106,12 @@ angular.module('inventory', [
},
resolve: {
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',
function($stateParams, Rest, GetBasePath, ProcessErrors){
let path = `${GetBasePath('inventory')}${$stateParams.inventory_id}/instance_groups/`;

View File

@ -84,11 +84,28 @@ export default ['$scope', '$rootScope', '$stateParams', 'TeamForm', 'Rest',
init();
$scope.convertApiUrl = function(str) {
if (str) {
return str.replace(/api\/v\d+/, "#");
} else {
return null;
$scope.redirectToResource = function(resource) {
let type = resource.summary_fields.resource_type.replace(/ /g , "_");
var id = resource.related[type].split("/")[4];
switch (type) {
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: {
label: i18n._('Name'),
ngBind: 'permission.summary_fields.resource_name',
linkTo: '{{convertApiUrl(permission.related[permission.summary_fields.resource_type])}}',
ngClick: "redirectToResource(permission)",
nosort: true
},
type: {

View File

@ -125,11 +125,28 @@ export default ['$scope', '$rootScope', '$stateParams', 'UserForm', 'Rest',
return;
}
$scope.convertApiUrl = function(str) {
if (str) {
return str.replace(/api\/v\d+/, "#");
} else {
return null;
$scope.redirectToResource = function(resource) {
let type = resource.summary_fields.resource_type.replace(/ /g , "_");
var id = resource.related[type].split("/")[4];
switch (type) {
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: {
label: i18n._('Name'),
ngBind: 'permission.summary_fields.resource_name',
linkTo: '{{convertApiUrl(permission.related[permission.summary_fields.resource_type])}}',
ngClick: "redirectToResource(permission)",
nosort: true
},
type: {