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
No known key found for this signature in database
GPG Key ID: 9A6F084352C3A0B7
3 changed files with 12 additions and 8 deletions

View File

@ -4442,14 +4442,15 @@ class WorkflowJobLaunchSerializer(BaseSerializer):
return False
def get_defaults(self, obj):
defaults ={
'inventory': {
'name': getattrd(obj, 'inventory.name', None),
'id': getattrd(obj, 'inventory.pk', None)
}
}
return defaults
defaults_dict = {}
for field_name in WorkflowJobTemplate.get_ask_mapping().keys():
if field_name == 'inventory':
defaults_dict[field_name] = dict(
name=getattrd(obj, '%s.name' % field_name, None),
id=getattrd(obj, '%s.pk' % field_name, None))
else:
defaults_dict[field_name] = getattr(obj, field_name)
return defaults_dict
def get_workflow_job_template_data(self, obj):
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
if obj.ask_inventory_on_launch:
data['inventory'] = obj.inventory_id
else:
data.pop('inventory', None)
return data
def post(self, request, *args, **kwargs):

View File

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