Write logic to combing workflow labels, IGs with nodes

Additionally, move the inventory-specific hacks of yesteryear
  into the prompts_dict method of the WorkflowJob model
  try to make it clear exactly what this is hacking and why

Correctly summarize label prompts, and add missing EE

Expand unit tests to apply more fields

adding missing fields to preserve during copy to workflow.py

Fix bug where empty workflow job vars blanked node vars (#12904)

* Fix bug where empty workflow job vars blanked node vars

* Fix bug where workflow job has no extra_vars, add test

* Add empty workflow job extra vars to assure fix
This commit is contained in:
Alan Rominger
2022-09-16 09:14:16 -04:00
parent b501b30db4
commit b38e08174a
8 changed files with 183 additions and 87 deletions

View File

@@ -983,13 +983,16 @@ class LaunchTimeConfigBase(BaseModel):
data[prompt_name] = prompt_values
elif prompt_name == 'extra_vars':
if self.extra_vars:
extra_vars = {}
if display:
data[prompt_name] = self.display_extra_vars()
extra_vars = self.display_extra_vars()
else:
data[prompt_name] = self.extra_vars
extra_vars = self.extra_vars
# Depending on model, field type may save and return as string
if isinstance(data[prompt_name], str):
data[prompt_name] = parse_yaml_or_json(data[prompt_name])
if isinstance(extra_vars, str):
extra_vars = parse_yaml_or_json(extra_vars)
if extra_vars:
data['extra_vars'] = extra_vars
if self.survey_passwords and not display:
data['survey_passwords'] = self.survey_passwords
else: