split templates into job templates / workflow job templates

This commit is contained in:
Leigh Johnson
2016-12-13 15:33:47 -05:00
parent ce12b97d75
commit c753328a0b
5 changed files with 76 additions and 32 deletions

View File

@@ -31,7 +31,8 @@ function(rootScope, scope, $state, GetBasePath, Rest, $q, Wait, ProcessErrors) {
_.each(resources, (resource) => scope.keys[resource] = {}); _.each(resources, (resource) => scope.keys[resource] = {});
scope.tab = { scope.tab = {
templates: true, job_templates: true,
workflow_templates: false,
projects: false, projects: false,
inventories: false, inventories: false,
credentials: false credentials: false

View File

@@ -14,7 +14,6 @@ export default ['templateUrl',
resolve: "=" resolve: "="
}, },
controller: controller, controller: controller,
controllerAs: 'rbac',
templateUrl: templateUrl('access/add-rbac-user-team/rbac-user-team'), templateUrl: templateUrl('access/add-rbac-user-team/rbac-user-team'),
link: function(scope, element, attrs) { link: function(scope, element, attrs) {
$('#add-permissions-modal').modal('show'); $('#add-permissions-modal').modal('show');

View File

@@ -33,14 +33,19 @@
<div class="Form-tabHolder"> <div class="Form-tabHolder">
<div class="Form-tab" <div class="Form-tab"
ng-click="selectTab('templates')" ng-click="selectTab('job_templates')"
ng-class="{'is-selected': tab.templates }"> ng-class="{'is-selected': tab.job_templates }">
Templates Templates
</div> </div>
<div class="Form-tab" <div class="Form-tab"
ng-click="selectTab('projects')" ng-click="selectTab('workflow_templates')"
ng-class="{'is-selected': tab.projects}" ng-class="{'is-selected': tab.workflow_templates}"
> >
Workflow Templates
</div>
<div class="Form-tab"
ng-click="selectTab('projects')"
ng-class="{'is-selected': tab.projects }">
Projects Projects
</div> </div>
<div class="Form-tab" <div class="Form-tab"
@@ -57,8 +62,11 @@
</div> </div>
</div> </div>
<div id="AddPermissions-users" class="AddPermissions-list" ng-show="tab.templates"> <div id="AddPermissions-jobTemplates" class="AddPermissions-list" ng-show="tab.job_templates">
<rbac-multiselect-list view="Templates" all-selected="allSelected" dataset="resolve.templatesDataset"></rbac-multiselect-list> <rbac-multiselect-list view="JobTemplates" all-selected="allSelected" dataset="resolve.jobTemplatesDataset"></rbac-multiselect-list>
</div>
<div id="AddPermissions-jobTemplates" class="AddPermissions-list" ng-show="tab.workflow_templates">
<rbac-multiselect-list view="WorkflowTemplates" all-selected="allSelected" dataset="resolve.workflowTemplatesDataset"></rbac-multiselect-list>
</div> </div>
<div id="AddPermissions-projects" class="AddPermissions-list" ng-show="tab.projects"> <div id="AddPermissions-projects" class="AddPermissions-list" ng-show="tab.projects">
<rbac-multiselect-list view="Projects" all-selected="allSelected" dataset="resolve.projectsDataset"></rbac-multiselect-list> <rbac-multiselect-list view="Projects" all-selected="allSelected" dataset="resolve.projectsDataset"></rbac-multiselect-list>

View File

@@ -24,7 +24,8 @@ export default ['addPermissionsTeamsList', 'addPermissionsUsersList', 'TemplateL
Teams: addPermissionsTeamsList, Teams: addPermissionsTeamsList,
Users: addPermissionsUsersList, Users: addPermissionsUsersList,
Projects: ProjectList, Projects: ProjectList,
Templates: TemplateList, JobTemplates: TemplateList,
WorkflowTemplates: TemplateList,
Inventories: InventoryList, Inventories: InventoryList,
Credentials: CredentialList Credentials: CredentialList
}; };
@@ -35,21 +36,46 @@ export default ['addPermissionsTeamsList', 'addPermissionsUsersList', 'TemplateL
delete list.actions; delete list.actions;
delete list.fieldActions; delete list.fieldActions;
if (scope.view !== 'Users' && scope.view !== 'Teams' && scope.view !=='Projects' && scope.view !== 'Inventories'){ switch(scope.view){
list.fields = {
name: list.fields.name, case 'Projects':
description: list.fields.description list.fields = {
}; name: list.fields.name,
} else if (scope.view === 'Projects'){ scm_type: list.fields.scm_type
list.fields = { };
name: list.fields.name, break;
scm_type: list.fields.scm_type
}; case 'Inventories':
} else if (scope.view === 'Inventories'){ list.fields = {
list.fieds = { name: list.fields.name,
name: list.fields.name, organization: list.fields.organization
organization: list.fields.organization };
}; break;
case 'JobTemplates':
list.name = 'job_templates';
list.iterator = 'job_template';
list.fields = {
name: list.fields.name,
description: list.fields.description
};
break;
case 'WorkflowTemplates':
list.name = 'workflow_templates';
list.iterator = 'workflow_template',
list.basePath = 'workflow_job_templates';
list.fields = {
name: list.fields.name,
description: list.fields.description
};
break;
default:
list.fields = {
name: list.fields.name,
description: list.fields.description
};
} }
list_html = generateList.build({ list_html = generateList.build({

View File

@@ -242,8 +242,12 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
value: {order_by: 'name', page_size: '5'}, value: {order_by: 'name', page_size: '5'},
dynamic: true dynamic: true
}, },
template_search: { job_template_search: {
value: {order_by: 'name', page_size: '5', type: 'workflow_job_template,job_template'}, // @issue and also system_job_template? value: {order_by: 'name', page_size: '5'},
dynamic: true
},
workflow_template_search: {
value: {order_by: 'name', page_size: '5'},
dynamic: true dynamic: true
}, },
inventory_search: { inventory_search: {
@@ -261,10 +265,16 @@ export default ['$injector', '$stateExtender', '$log', function($injector, $stat
} }
}, },
resolve: { resolve: {
templatesDataset: ['TemplateList', 'QuerySet', '$stateParams', 'GetBasePath', jobTemplatesDataset: ['QuerySet', '$stateParams', 'GetBasePath',
function(list, qs, $stateParams, GetBasePath) { function(qs, $stateParams, GetBasePath) {
let path = GetBasePath(list.basePath) || GetBasePath(list.name); let path = GetBasePath('job_templates');
return qs.search(path, $stateParams[`${list.iterator}_search`]); return qs.search(path, $stateParams.job_template_search);
}
],
workflowTemplatesDataset: ['QuerySet', '$stateParams', 'GetBasePath',
function(qs, $stateParams, GetBasePath) {
let path = GetBasePath('workflow_job_templates');
return qs.search(path, $stateParams.workflow_template_search);
} }
], ],
projectsDataset: ['ProjectList', 'QuerySet', '$stateParams', 'GetBasePath', projectsDataset: ['ProjectList', 'QuerySet', '$stateParams', 'GetBasePath',