prompt-for vars in API browser box smart behavior

This commit is contained in:
AlanCoding
2016-04-07 17:37:33 -04:00
parent bea15021b3
commit 056a7d798a
2 changed files with 19 additions and 4 deletions

View File

@@ -2119,9 +2119,12 @@ class JobLaunchSerializer(BaseSerializer):
'ask_tags_on_launch', 'ask_job_type_on_launch', 'ask_tags_on_launch', 'ask_job_type_on_launch',
'ask_inventory_on_launch') 'ask_inventory_on_launch')
extra_kwargs = { extra_kwargs = {
'credential': { 'credential': {'write_only': True,},
'write_only': True, 'limit': {'write_only': True,},
}, 'job_tags': {'write_only': True,},
'skip_tags': {'write_only': True,},
'job_type': {'write_only': True,},
'inventory': {'write_only': True,}
} }
def get_credential_needed_to_start(self, obj): def get_credential_needed_to_start(self, obj):

View File

@@ -2092,7 +2092,19 @@ class JobTemplateLaunch(RetrieveAPIView, GenericAPIView):
data['credential'] = None data['credential'] = None
for v in obj.variables_needed_to_start: for v in obj.variables_needed_to_start:
extra_vars.setdefault(v, u'') extra_vars.setdefault(v, u'')
data['extra_vars'] = extra_vars ask_for_field_dict = dict(
extra_vars=obj.ask_variables_on_launch,
limit=obj.ask_limit_on_launch,
job_tags=obj.ask_tags_on_launch,
skip_tags=obj.ask_tags_on_launch,
job_type=obj.ask_job_type_on_launch,
inventory=obj.ask_inventory_on_launch
)
for field in ask_for_field_dict:
if not ask_for_field_dict[field]:
data.pop(field, None)
elif field == 'extra_vars':
data[field] = extra_vars
return data return data
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):