mirror of
https://github.com/ansible/awx.git
synced 2026-01-21 06:28:01 -03:30
add inventory lookup to workflow detail view
This commit is contained in:
parent
3c980d373c
commit
2d2164a4ba
@ -303,6 +303,23 @@ angular.module('templates', [surveyMaker.name, jobTemplates.name, labels.name, p
|
||||
},
|
||||
resolve: {
|
||||
add: {
|
||||
Inventory: ['$stateParams', 'Rest', 'GetBasePath', 'ProcessErrors',
|
||||
function($stateParams, Rest, GetBasePath, ProcessErrors){
|
||||
if($stateParams.inventory_id){
|
||||
let path = `${GetBasePath('inventory')}${$stateParams.inventory_id}`;
|
||||
Rest.setUrl(path);
|
||||
return Rest.get().
|
||||
then(function(data){
|
||||
return data.data;
|
||||
}).catch(function(response) {
|
||||
ProcessErrors(null, response.data, response.status, null, {
|
||||
hdr: 'Error!',
|
||||
msg: 'Failed to get inventory info. GET returned status: ' +
|
||||
response.status
|
||||
});
|
||||
});
|
||||
}
|
||||
}],
|
||||
availableLabels: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors', 'TemplatesService',
|
||||
function(Rest, $stateParams, GetBasePath, ProcessErrors, TemplatesService) {
|
||||
return TemplatesService.getAllLabelOptions()
|
||||
@ -354,6 +371,23 @@ angular.module('templates', [surveyMaker.name, jobTemplates.name, labels.name, p
|
||||
},
|
||||
resolve: {
|
||||
edit: {
|
||||
Inventory: ['$stateParams', 'Rest', 'GetBasePath', 'ProcessErrors',
|
||||
function($stateParams, Rest, GetBasePath, ProcessErrors){
|
||||
if($stateParams.inventory_id){
|
||||
let path = `${GetBasePath('inventory')}${$stateParams.inventory_id}`;
|
||||
Rest.setUrl(path);
|
||||
return Rest.get().
|
||||
then(function(data){
|
||||
return data.data;
|
||||
}).catch(function(response) {
|
||||
ProcessErrors(null, response.data, response.status, null, {
|
||||
hdr: 'Error!',
|
||||
msg: 'Failed to get inventory info. GET returned status: ' +
|
||||
response.status
|
||||
});
|
||||
});
|
||||
}
|
||||
}],
|
||||
availableLabels: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors', 'TemplatesService',
|
||||
function(Rest, $stateParams, GetBasePath, ProcessErrors, TemplatesService) {
|
||||
return TemplatesService.getAllLabelOptions()
|
||||
|
||||
@ -68,6 +68,21 @@ export default ['NotificationsList', 'i18n', function(NotificationsList, i18n) {
|
||||
ngDisabled: '!(workflow_job_template_obj.summary_fields.user_capabilities.edit || canAddWorkflowJobTemplate) || !canEditOrg',
|
||||
awLookupWhen: '(workflow_job_template_obj.summary_fields.user_capabilities.edit || canAddWorkflowJobTemplate) && canEditOrg'
|
||||
},
|
||||
inventory: {
|
||||
label: i18n._('Inventory'),
|
||||
type: 'lookup',
|
||||
basePath: 'inventory',
|
||||
list: 'InventoryList',
|
||||
sourceModel: 'inventory',
|
||||
sourceField: 'name',
|
||||
autopopulateLookup: false,
|
||||
column: 1,
|
||||
awPopOver: "<p>" + i18n._("Select an inventory for the workflow. This inventory is applied to all job templates nodes that prompt for an inventory.") + "</p>",
|
||||
dataTitle: i18n._('Inventory'),
|
||||
dataPlacement: 'right',
|
||||
dataContainer: "body",
|
||||
ngDisabled: '!(workflow_job_template_obj.summary_fields.user_capabilities.edit || canAddWorkflowJobTemplate) || !canEditInventory',
|
||||
},
|
||||
labels: {
|
||||
label: i18n._('Labels'),
|
||||
type: 'select',
|
||||
|
||||
@ -8,11 +8,11 @@ export default [
|
||||
'$scope', 'WorkflowForm', 'GenerateForm', 'Alert', 'ProcessErrors',
|
||||
'Wait', '$state', 'CreateSelect2', 'TemplatesService',
|
||||
'ToJSON', 'ParseTypeChange', '$q', 'Rest', 'GetBasePath', 'availableLabels', 'i18n',
|
||||
'resolvedModels',
|
||||
'resolvedModels', 'Inventory',
|
||||
function($scope, WorkflowForm, GenerateForm, Alert, ProcessErrors,
|
||||
Wait, $state, CreateSelect2, TemplatesService, ToJSON,
|
||||
ParseTypeChange, $q, Rest, GetBasePath, availableLabels, i18n,
|
||||
resolvedModels) {
|
||||
resolvedModels, Inventory) {
|
||||
|
||||
// Inject dynamic view
|
||||
let form = WorkflowForm(),
|
||||
@ -23,6 +23,7 @@ export default [
|
||||
$scope.canAddWorkflowJobTemplate = workflowTemplate.options('actions.POST');
|
||||
|
||||
$scope.canEditOrg = true;
|
||||
$scope.canEditInventory = true;
|
||||
$scope.parseType = 'yaml';
|
||||
$scope.can_edit = true;
|
||||
// apply form definition's default field values
|
||||
@ -50,6 +51,12 @@ export default [
|
||||
$scope.workflowEditorTooltip = i18n._("Please save before defining the workflow graph.");
|
||||
$scope.surveyTooltip = i18n._('Please save before adding a survey to this workflow.');
|
||||
|
||||
|
||||
if (Inventory){
|
||||
$scope.inventory = Inventory.id;
|
||||
$scope.inventory_name = Inventory.name;
|
||||
}
|
||||
|
||||
$scope.formSave = function () {
|
||||
let fld, data = {};
|
||||
|
||||
|
||||
@ -10,12 +10,12 @@ export default [
|
||||
'Wait', 'Empty', 'ToJSON', 'initSurvey', '$state', 'CreateSelect2',
|
||||
'ParseVariableString', 'TemplatesService', 'Rest', 'ToggleNotification',
|
||||
'OrgAdminLookup', 'availableLabels', 'selectedLabels', 'workflowJobTemplateData', 'i18n',
|
||||
'workflowLaunch', '$transitions', 'WorkflowJobTemplateModel',
|
||||
'workflowLaunch', '$transitions', 'WorkflowJobTemplateModel', 'Inventory',
|
||||
function($scope, $stateParams, WorkflowForm, GenerateForm, Alert,
|
||||
ProcessErrors, GetBasePath, $q, ParseTypeChange, Wait, Empty,
|
||||
ToJSON, SurveyControllerInit, $state, CreateSelect2, ParseVariableString,
|
||||
TemplatesService, Rest, ToggleNotification, OrgAdminLookup, availableLabels, selectedLabels, workflowJobTemplateData, i18n,
|
||||
workflowLaunch, $transitions, WorkflowJobTemplate
|
||||
workflowLaunch, $transitions, WorkflowJobTemplate, Inventory,
|
||||
) {
|
||||
|
||||
$scope.missingTemplates = _.has(workflowLaunch, 'node_templates_missing') && workflowLaunch.node_templates_missing.length > 0 ? true : false;
|
||||
@ -54,6 +54,11 @@ export default [
|
||||
$scope.parseType = 'yaml';
|
||||
$scope.includeWorkflowMaker = false;
|
||||
|
||||
if (Inventory){
|
||||
$scope.inventory = Inventory.id;
|
||||
$scope.inventory_name = Inventory.name;
|
||||
}
|
||||
|
||||
$scope.openWorkflowMaker = function() {
|
||||
$state.go('.workflowMaker');
|
||||
};
|
||||
@ -312,6 +317,16 @@ export default [
|
||||
$scope.canEditOrg = true;
|
||||
}
|
||||
|
||||
if(workflowJobTemplateData.inventory) {
|
||||
OrgAdminLookup.checkForRoleLevelAdminAccess(workflowJobTemplateData.inventory, 'workflow_admin_role')
|
||||
.then(function(canEditInventory){
|
||||
$scope.canEditInventory = canEditInventory;
|
||||
});
|
||||
}
|
||||
else {
|
||||
$scope.canEditInventory = true;
|
||||
}
|
||||
|
||||
$scope.url = workflowJobTemplateData.url;
|
||||
$scope.survey_enabled = workflowJobTemplateData.survey_enabled;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user