From 018ff9162047aa2a12bc676b5a7f0210f32fb651 Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Wed, 27 Feb 2019 22:14:08 -0500 Subject: [PATCH] add related and summary fields to the CredentialInputSource endpoint --- awx/api/serializers.py | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 3f9964fdfc..7a36209fc6 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -133,6 +133,8 @@ SUMMARIZABLE_FK_FIELDS = { 'notification_template': DEFAULT_SUMMARY_FIELDS, 'instance_group': {'id', 'name', 'controller_id'}, 'insights_credential': DEFAULT_SUMMARY_FIELDS, + 'source_credential': DEFAULT_SUMMARY_FIELDS + ('kind', 'cloud', 'credential_type_id'), + 'target_credential': DEFAULT_SUMMARY_FIELDS + ('kind', 'cloud', 'credential_type_id'), } @@ -2817,29 +2819,16 @@ class CredentialSerializerCreate(CredentialSerializer): class CredentialInputSourceSerializer(BaseSerializer): - source_credential_name = serializers.SerializerMethodField( - read_only=True, - help_text=_('The name of the source credential.') - ) - source_credential_type = serializers.SerializerMethodField( - read_only=True, - help_text=_('The credential type of the source credential.') - ) class Meta: model = CredentialInputSource fields = ( - 'id', - 'type', - 'url', + '*', 'input_field_name', 'metadata', 'target_credential', 'source_credential', - 'source_credential_type', - 'source_credential_name', - 'created', - 'modified', + '-name', ) extra_kwargs = { 'input_field_name': {'required': True}, @@ -2847,11 +2836,11 @@ class CredentialInputSourceSerializer(BaseSerializer): 'source_credential': {'required': True}, } - def get_source_credential_name(self, obj): - return obj.source_credential.name - - def get_source_credential_type(self, obj): - return obj.source_credential.credential_type.id + def get_related(self, obj): + res = super(CredentialInputSourceSerializer, self).get_related(obj) + res['source_credential'] = obj.source_credential.get_absolute_url(request=self.context.get('request')) + res['target_credential'] = obj.target_credential.get_absolute_url(request=self.context.get('request')) + return res class UserCredentialSerializerCreate(CredentialSerializerCreate):