mirror of
https://github.com/ansible/awx.git
synced 2026-05-13 20:37:39 -02:30
Merge pull request #1255 from mabashian/templates-forms-disabled
Fixed bug where job/workflow templates add forms were disabled
This commit is contained in:
@@ -10,14 +10,14 @@
|
|||||||
'ProcessErrors', 'GetBasePath', 'md5Setup', 'ParseTypeChange', 'Wait',
|
'ProcessErrors', 'GetBasePath', 'md5Setup', 'ParseTypeChange', 'Wait',
|
||||||
'Empty', 'ToJSON', 'CallbackHelpInit', 'GetChoices', '$state', 'availableLabels',
|
'Empty', 'ToJSON', 'CallbackHelpInit', 'GetChoices', '$state', 'availableLabels',
|
||||||
'CreateSelect2', '$q', 'i18n', 'Inventory', 'Project', 'InstanceGroupsService',
|
'CreateSelect2', '$q', 'i18n', 'Inventory', 'Project', 'InstanceGroupsService',
|
||||||
'MultiCredentialService', 'ConfigData',
|
'MultiCredentialService', 'ConfigData', 'resolvedModels',
|
||||||
function(
|
function(
|
||||||
$filter, $scope,
|
$filter, $scope,
|
||||||
$stateParams, JobTemplateForm, GenerateForm, Rest, Alert,
|
$stateParams, JobTemplateForm, GenerateForm, Rest, Alert,
|
||||||
ProcessErrors, GetBasePath, md5Setup, ParseTypeChange, Wait,
|
ProcessErrors, GetBasePath, md5Setup, ParseTypeChange, Wait,
|
||||||
Empty, ToJSON, CallbackHelpInit, GetChoices,
|
Empty, ToJSON, CallbackHelpInit, GetChoices,
|
||||||
$state, availableLabels, CreateSelect2, $q, i18n, Inventory, Project, InstanceGroupsService,
|
$state, availableLabels, CreateSelect2, $q, i18n, Inventory, Project, InstanceGroupsService,
|
||||||
MultiCredentialService, ConfigData
|
MultiCredentialService, ConfigData, resolvedModels
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// Inject dynamic view
|
// Inject dynamic view
|
||||||
@@ -28,37 +28,38 @@
|
|||||||
selectPlaybook, checkSCMStatus,
|
selectPlaybook, checkSCMStatus,
|
||||||
callback;
|
callback;
|
||||||
|
|
||||||
init();
|
const jobTemplate = resolvedModels[0];
|
||||||
function init(){
|
|
||||||
// apply form definition's default field values
|
|
||||||
GenerateForm.applyDefaults(form, $scope);
|
|
||||||
|
|
||||||
$scope.can_edit = true;
|
$scope.canAddJobTemplate = jobTemplate.options('actions.POST');
|
||||||
$scope.allow_callbacks = false;
|
|
||||||
$scope.playbook_options = [];
|
|
||||||
$scope.mode = "add";
|
|
||||||
$scope.parseType = 'yaml';
|
|
||||||
$scope.credentialNotPresent = false;
|
|
||||||
$scope.canGetAllRelatedResources = true;
|
|
||||||
|
|
||||||
md5Setup({
|
// apply form definition's default field values
|
||||||
scope: $scope,
|
GenerateForm.applyDefaults(form, $scope);
|
||||||
master: master,
|
|
||||||
check_field: 'allow_callbacks',
|
|
||||||
default_val: false
|
|
||||||
});
|
|
||||||
CallbackHelpInit({ scope: $scope });
|
|
||||||
|
|
||||||
$scope.surveyTooltip = i18n._('Please save before adding a survey to this job template.');
|
$scope.can_edit = true;
|
||||||
|
$scope.allow_callbacks = false;
|
||||||
|
$scope.playbook_options = [];
|
||||||
|
$scope.mode = "add";
|
||||||
|
$scope.parseType = 'yaml';
|
||||||
|
$scope.credentialNotPresent = false;
|
||||||
|
$scope.canGetAllRelatedResources = true;
|
||||||
|
|
||||||
MultiCredentialService.getCredentialTypes()
|
md5Setup({
|
||||||
.then(({ data }) => {
|
scope: $scope,
|
||||||
$scope.multiCredential = {
|
master: master,
|
||||||
credentialTypes: data.results,
|
check_field: 'allow_callbacks',
|
||||||
selectedCredentials: []
|
default_val: false
|
||||||
};
|
});
|
||||||
});
|
CallbackHelpInit({ scope: $scope });
|
||||||
}
|
|
||||||
|
$scope.surveyTooltip = i18n._('Please save before adding a survey to this job template.');
|
||||||
|
|
||||||
|
MultiCredentialService.getCredentialTypes()
|
||||||
|
.then(({ data }) => {
|
||||||
|
$scope.multiCredential = {
|
||||||
|
credentialTypes: data.results,
|
||||||
|
selectedCredentials: []
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
callback = function() {
|
callback = function() {
|
||||||
// Make sure the form controller knows there was a change
|
// Make sure the form controller knows there was a change
|
||||||
|
|||||||
@@ -8,43 +8,47 @@ export default [
|
|||||||
'$scope', 'WorkflowForm', 'GenerateForm', 'Alert', 'ProcessErrors',
|
'$scope', 'WorkflowForm', 'GenerateForm', 'Alert', 'ProcessErrors',
|
||||||
'Wait', '$state', 'CreateSelect2', 'TemplatesService',
|
'Wait', '$state', 'CreateSelect2', 'TemplatesService',
|
||||||
'ToJSON', 'ParseTypeChange', '$q', 'Rest', 'GetBasePath', 'availableLabels', 'i18n',
|
'ToJSON', 'ParseTypeChange', '$q', 'Rest', 'GetBasePath', 'availableLabels', 'i18n',
|
||||||
|
'resolvedModels',
|
||||||
function($scope, WorkflowForm, GenerateForm, Alert, ProcessErrors,
|
function($scope, WorkflowForm, GenerateForm, Alert, ProcessErrors,
|
||||||
Wait, $state, CreateSelect2, TemplatesService, ToJSON,
|
Wait, $state, CreateSelect2, TemplatesService, ToJSON,
|
||||||
ParseTypeChange, $q, Rest, GetBasePath, availableLabels, i18n) {
|
ParseTypeChange, $q, Rest, GetBasePath, availableLabels, i18n,
|
||||||
|
resolvedModels) {
|
||||||
|
|
||||||
// Inject dynamic view
|
// Inject dynamic view
|
||||||
let form = WorkflowForm(),
|
let form = WorkflowForm(),
|
||||||
generator = GenerateForm;
|
generator = GenerateForm;
|
||||||
|
|
||||||
function init() {
|
const workflowTemplate = resolvedModels[1];
|
||||||
$scope.canEditOrg = true;
|
|
||||||
$scope.parseType = 'yaml';
|
|
||||||
$scope.can_edit = true;
|
|
||||||
// apply form definition's default field values
|
|
||||||
GenerateForm.applyDefaults(form, $scope);
|
|
||||||
|
|
||||||
// Make the variables textarea look pretty
|
$scope.canAddWorkflowJobTemplate = workflowTemplate.options('actions.POST');
|
||||||
ParseTypeChange({
|
|
||||||
scope: $scope,
|
|
||||||
field_id: 'workflow_job_template_variables',
|
|
||||||
onChange: function() {
|
|
||||||
// Make sure the form controller knows there was a change
|
|
||||||
$scope[form.name + '_form'].$setDirty();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$scope.labelOptions = availableLabels
|
$scope.canEditOrg = true;
|
||||||
.map((i) => ({label: i.name, value: i.id}));
|
$scope.parseType = 'yaml';
|
||||||
|
$scope.can_edit = true;
|
||||||
|
// apply form definition's default field values
|
||||||
|
GenerateForm.applyDefaults(form, $scope);
|
||||||
|
|
||||||
CreateSelect2({
|
// Make the variables textarea look pretty
|
||||||
element:'#workflow_job_template_labels',
|
ParseTypeChange({
|
||||||
multiple: true,
|
scope: $scope,
|
||||||
addNew: true
|
field_id: 'workflow_job_template_variables',
|
||||||
});
|
onChange: function() {
|
||||||
|
// Make sure the form controller knows there was a change
|
||||||
|
$scope[form.name + '_form'].$setDirty();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$scope.workflowEditorTooltip = i18n._("Please save before defining the workflow graph.");
|
$scope.labelOptions = availableLabels
|
||||||
$scope.surveyTooltip = i18n._('Please save before adding a survey to this workflow.');
|
.map((i) => ({label: i.name, value: i.id}));
|
||||||
}
|
|
||||||
|
CreateSelect2({
|
||||||
|
element:'#workflow_job_template_labels',
|
||||||
|
multiple: true,
|
||||||
|
addNew: true
|
||||||
|
});
|
||||||
|
|
||||||
|
$scope.workflowEditorTooltip = i18n._("Please save before defining the workflow graph.");
|
||||||
|
$scope.surveyTooltip = i18n._('Please save before adding a survey to this workflow.');
|
||||||
|
|
||||||
$scope.formSave = function () {
|
$scope.formSave = function () {
|
||||||
let fld, data = {};
|
let fld, data = {};
|
||||||
@@ -167,7 +171,5 @@ export default [
|
|||||||
$scope.formCancel = function () {
|
$scope.formCancel = function () {
|
||||||
$state.transitionTo('templates');
|
$state.transitionTo('templates');
|
||||||
};
|
};
|
||||||
|
|
||||||
init();
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ describe('Controller: WorkflowAdd', () => {
|
|||||||
Wait,
|
Wait,
|
||||||
ParseTypeChange,
|
ParseTypeChange,
|
||||||
ToJSON,
|
ToJSON,
|
||||||
availableLabels;
|
availableLabels,
|
||||||
|
resolvedModels;
|
||||||
|
|
||||||
beforeEach(angular.mock.module('awApp'));
|
beforeEach(angular.mock.module('awApp'));
|
||||||
beforeEach(angular.mock.module('RestServices'));
|
beforeEach(angular.mock.module('RestServices'));
|
||||||
@@ -49,6 +50,15 @@ describe('Controller: WorkflowAdd', () => {
|
|||||||
id: "1"
|
id: "1"
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
resolvedModels = [
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
options: () => {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
Alert = jasmine.createSpy('Alert');
|
Alert = jasmine.createSpy('Alert');
|
||||||
ProcessErrors = jasmine.createSpy('ProcessErrors');
|
ProcessErrors = jasmine.createSpy('ProcessErrors');
|
||||||
CreateSelect2 = jasmine.createSpy('CreateSelect2');
|
CreateSelect2 = jasmine.createSpy('CreateSelect2');
|
||||||
@@ -65,6 +75,7 @@ describe('Controller: WorkflowAdd', () => {
|
|||||||
$provide.value('ParseTypeChange', ParseTypeChange);
|
$provide.value('ParseTypeChange', ParseTypeChange);
|
||||||
$provide.value('ToJSON', ToJSON);
|
$provide.value('ToJSON', ToJSON);
|
||||||
$provide.value('availableLabels', availableLabels);
|
$provide.value('availableLabels', availableLabels);
|
||||||
|
$provide.value('resolvedModels', resolvedModels);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
beforeEach(angular.mock.inject( ($rootScope, $controller, $q, $httpBackend, _state_, _ConfigService_, _GetChoices_, _Alert_, _GenerateForm_, _ProcessErrors_, _CreateSelect2_, _Wait_, _ParseTypeChange_, _ToJSON_, _availableLabels_) => {
|
beforeEach(angular.mock.inject( ($rootScope, $controller, $q, $httpBackend, _state_, _ConfigService_, _GetChoices_, _Alert_, _GenerateForm_, _ProcessErrors_, _CreateSelect2_, _Wait_, _ParseTypeChange_, _ToJSON_, _availableLabels_) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user