fix survey vars bug and inventory defaults display

This commit is contained in:
AlanCoding
2018-11-12 11:00:21 -05:00
committed by Jake McDermott
parent 75566bad39
commit c1d85f568c
3 changed files with 12 additions and 8 deletions

View File

@@ -4442,14 +4442,15 @@ class WorkflowJobLaunchSerializer(BaseSerializer):
return False return False
def get_defaults(self, obj): def get_defaults(self, obj):
defaults ={ defaults_dict = {}
'inventory': { for field_name in WorkflowJobTemplate.get_ask_mapping().keys():
'name': getattrd(obj, 'inventory.name', None), if field_name == 'inventory':
'id': getattrd(obj, 'inventory.pk', None) defaults_dict[field_name] = dict(
} name=getattrd(obj, '%s.name' % field_name, None),
} id=getattrd(obj, '%s.pk' % field_name, None))
else:
return defaults defaults_dict[field_name] = getattr(obj, field_name)
return defaults_dict
def get_workflow_job_template_data(self, obj): def get_workflow_job_template_data(self, obj):
return dict(name=obj.name, id=obj.id, description=obj.description) return dict(name=obj.name, id=obj.id, description=obj.description)

View File

@@ -3108,6 +3108,8 @@ class WorkflowJobTemplateLaunch(WorkflowsEnforcementMixin, RetrieveAPIView):
data['extra_vars'] = extra_vars data['extra_vars'] = extra_vars
if obj.ask_inventory_on_launch: if obj.ask_inventory_on_launch:
data['inventory'] = obj.inventory_id data['inventory'] = obj.inventory_id
else:
data.pop('inventory', None)
return data return data
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):

View File

@@ -440,6 +440,7 @@ class WorkflowJobTemplate(UnifiedJobTemplate, WorkflowJobOptions, SurveyJobTempl
if rejected_vars: if rejected_vars:
rejected_data['extra_vars'] = rejected_vars rejected_data['extra_vars'] = rejected_vars
errors_dict.update(vars_errors) errors_dict.update(vars_errors)
continue
if field_name not in kwargs: if field_name not in kwargs:
continue continue