fix a bug in JobTemplate.extra_credentials summary_fields

see: https://github.com/ansible/tower/issues/2184
This commit is contained in:
Ryan Petrello
2018-06-15 12:19:40 -04:00
parent 1b5ea07745
commit 45fb262556

View File

@@ -3034,6 +3034,10 @@ class JobTemplateSerializer(JobTemplateMixin, UnifiedJobTemplateSerializer, JobO
def get_summary_fields(self, obj): def get_summary_fields(self, obj):
summary_fields = super(JobTemplateSerializer, self).get_summary_fields(obj) summary_fields = super(JobTemplateSerializer, self).get_summary_fields(obj)
all_creds = [] all_creds = []
# Organize credential data into multitude of deprecated fields
vault_credential = None
credential = None
extra_creds = []
if obj.pk: if obj.pk:
for cred in obj.credentials.all(): for cred in obj.credentials.all():
summarized_cred = { summarized_cred = {
@@ -3044,12 +3048,7 @@ class JobTemplateSerializer(JobTemplateMixin, UnifiedJobTemplateSerializer, JobO
'credential_type_id': cred.credential_type_id 'credential_type_id': cred.credential_type_id
} }
all_creds.append(summarized_cred) all_creds.append(summarized_cred)
# Organize credential data into multitude of deprecated fields if cred.credential_type.kind in ('cloud', 'net'):
extra_creds = []
vault_credential = None
credential = None
for summarized_cred in all_creds:
if summarized_cred['kind'] in ('cloud', 'net'):
extra_creds.append(summarized_cred) extra_creds.append(summarized_cred)
elif summarized_cred['kind'] == 'ssh': elif summarized_cred['kind'] == 'ssh':
credential = summarized_cred credential = summarized_cred