fix extra_vars when not prompted during launch

This commit is contained in:
Keith Grant 2020-05-27 11:15:41 -07:00
parent 1b1a93dd4b
commit 5eeb8b0337
2 changed files with 24 additions and 16 deletions

View File

@ -44,7 +44,10 @@ function LaunchPrompt({ config, resource, onLaunch, onCancel, i18n }) {
setValue('limit', values.limit);
setValue('job_tags', values.job_tags);
setValue('skip_tags', values.skip_tags);
setValue('extra_vars', mergeExtraVars(values.extra_vars, surveyValues));
const extraVars = config.ask_variables_on_launch
? values.extra_vars || '---'
: resource.extra_vars;
setValue('extra_vars', mergeExtraVars(extraVars, surveyValues));
setValue('scm_branch', values.scm_branch);
onLaunch(postValues);
};

View File

@ -8,27 +8,32 @@ import getSurveyValues from '../getSurveyValues';
function PreviewStep({ resource, config, survey, formErrors }) {
const { values } = useFormikContext();
const surveyValues = getSurveyValues(values);
let extraVars;
if (survey && survey.spec) {
const passwordFields = survey.spec
.filter(q => q.type === 'password')
.map(q => q.variable);
const masked = maskPasswords(surveyValues, passwordFields);
extraVars = yaml.safeDump(
mergeExtraVars(values.extra_vars || '---', masked)
);
} else {
extraVars = values.extra_vars || '---';
const overrides = { ...values };
if (config.ask_variables_on_launch || config.survey_enabled) {
const initialExtraVars = config.ask_variables_on_launch
? values.extra_vars || '---'
: resource.extra_vars;
if (survey && survey.spec) {
const passwordFields = survey.spec
.filter(q => q.type === 'password')
.map(q => q.variable);
const masked = maskPasswords(surveyValues, passwordFields);
overrides.extra_vars = yaml.safeDump(
mergeExtraVars(initialExtraVars, masked)
);
} else {
overrides.extra_vars = initialExtraVars;
}
}
return (
<>
<PromptDetail
resource={resource}
launchConfig={config}
overrides={{
...values,
extra_vars: extraVars,
}}
overrides={overrides}
/>
{formErrors && (
<ul css="color: red">