Merge pull request #3035 from mabashian/3010-extra-vars

Fixes bug where schedule extra vars were not being displayed in the edit form
This commit is contained in:
Michael Abashian 2018-09-28 09:24:41 -04:00 committed by GitHub
commit 3aa07baf26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -243,6 +243,15 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
let jobTemplate = new JobTemplate();
const codeMirrorExtraVars = () => {
ParseTypeChange({
scope: $scope,
variable: 'extraVars',
parse_variable: 'parseType',
field_id: 'SchedulerForm-extraVars'
});
};
Rest.setUrl(scheduleResolve.related.credentials);
$q.all([jobTemplate.optionsLaunch(ParentObject.id), jobTemplate.getLaunch(ParentObject.id), Rest.get()])
@ -312,21 +321,10 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
prompts.credentials.value = defaultCredsWithoutOverrides.concat(scheduleCredentials);
if (launchConf.ask_variables_on_launch) {
// the extra vars codemirror is ONLY shown if the
// schedule is for a JT and the JT has
// ask_variables_on_launch = true.
$scope.extraVars = ParentObject.extra_vars === '' ? '---' : ParentObject.extra_vars;
$scope.noVars = false;
ParseTypeChange({
scope: $scope,
variable: 'extraVars',
parse_variable: 'parseType',
field_id: 'SchedulerForm-extraVars'
});
} else {
$scope.noVars = true;
}
// the extra vars codemirror is ONLY shown if the
// schedule is for a JT and the JT has
// ask_variables_on_launch = true
$scope.noVars = !launchConf.ask_variables_on_launch;
if (!launchConf.survey_enabled &&
!launchConf.ask_inventory_on_launch &&
@ -343,6 +341,10 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
launchConf.passwords_needed_to_start.length === 0 &&
launchConf.variables_needed_to_start.length === 0) {
$scope.showPromptButton = false;
if (launchConf.ask_variables_on_launch) {
codeMirrorExtraVars();
}
} else {
$scope.showPromptButton = true;
@ -368,13 +370,7 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
$scope.extraVars = (processed.extra_data === '' || _.isEmpty(processed.extra_data)) ? '---' : '---\n' + jsyaml.safeDump(processed.extra_data);
ParseTypeChange({
scope: $scope,
variable: 'extraVars',
parse_variable: 'parseType',
field_id: 'SchedulerForm-extraVars',
readOnly: !$scope.schedule_obj.summary_fields.user_capabilities.edit
});
codeMirrorExtraVars();
$scope.promptData = {
launchConf: launchConf,
@ -397,6 +393,7 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
watchForPromptChanges();
});
} else {
codeMirrorExtraVars();
$scope.promptData = {
launchConf: launchConf,
launchOptions: launchOptions,