filter credential_type__search from related search fields in API v1

see: https://github.com/ansible/ansible-tower/issues/6116
This commit is contained in:
Ryan Petrello 2017-07-26 16:34:08 -04:00
parent 3ea648df14
commit cb85038976

View File

@ -1614,7 +1614,18 @@ class CredentialTypeActivityStreamList(ActivityStreamEnforcementMixin, SubListAP
new_in_api_v2 = True
class CredentialList(ListCreateAPIView):
# remove in 3.3
class CredentialViewMixin(object):
@property
def related_search_fields(self):
ret = super(CredentialViewMixin, self).related_search_fields
if get_request_version(self.request) == 1 and 'credential_type__search' in ret:
ret.remove('credential_type__search')
return ret
class CredentialList(CredentialViewMixin, ListCreateAPIView):
model = Credential
serializer_class = CredentialSerializerCreate
@ -1649,7 +1660,7 @@ class CredentialOwnerTeamsList(SubListAPIView):
return self.model.objects.filter(pk__in=teams)
class UserCredentialsList(SubListCreateAPIView):
class UserCredentialsList(CredentialViewMixin, SubListCreateAPIView):
model = Credential
serializer_class = UserCredentialSerializerCreate
@ -1666,7 +1677,7 @@ class UserCredentialsList(SubListCreateAPIView):
return user_creds & visible_creds
class TeamCredentialsList(SubListCreateAPIView):
class TeamCredentialsList(CredentialViewMixin, SubListCreateAPIView):
model = Credential
serializer_class = TeamCredentialSerializerCreate
@ -1683,7 +1694,7 @@ class TeamCredentialsList(SubListCreateAPIView):
return (team_creds & visible_creds).distinct()
class OrganizationCredentialList(SubListCreateAPIView):
class OrganizationCredentialList(CredentialViewMixin, SubListCreateAPIView):
model = Credential
serializer_class = OrganizationCredentialSerializerCreate