improve a few permission-related errors for CredentialType update/delete

see: #6385
This commit is contained in:
Ryan Petrello
2017-05-31 15:48:34 -04:00
parent 5af5f50797
commit 462b2c6696
3 changed files with 12 additions and 8 deletions

View File

@@ -1590,8 +1590,10 @@ class CredentialTypeDetail(RetrieveUpdateDestroyAPIView):
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
if instance.managed_by_tower or instance.credentials.exists():
raise PermissionDenied(detail=_("Credential types that are in use cannot be deleted."))
if instance.managed_by_tower:
raise PermissionDenied(detail=_("Deletion not allowed for credential types managed by Tower"))
if instance.credentials.exists():
raise PermissionDenied(detail=_("Credential types that are in use cannot be deleted"))
return super(CredentialTypeDetail, self).destroy(request, *args, **kwargs)