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_inventory_on_launch')
extra_kwargs = {
'credential': {
'write_only': True,
},
'credential': {'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):

View File

@ -2092,7 +2092,19 @@ class JobTemplateLaunch(RetrieveAPIView, GenericAPIView):
data['credential'] = None
for v in obj.variables_needed_to_start:
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
def post(self, request, *args, **kwargs):