diff --git a/lib/main/urls.py b/lib/main/urls.py index fe2a030efd..af6e72f77b 100644 --- a/lib/main/urls.py +++ b/lib/main/urls.py @@ -97,6 +97,7 @@ variable_data_urls = patterns('lib.main.views', ) credentials_urls = patterns('lib.main.views', + url(r'^$', 'credentials_list'), url(r'^(?P[0-9]+)/$', 'credentials_detail'), # See also credentials resources on users/teams. ) diff --git a/lib/main/views.py b/lib/main/views.py index dd3d59dd8a..bab9c4c9f2 100644 --- a/lib/main/views.py +++ b/lib/main/views.py @@ -76,6 +76,7 @@ class ApiV1RootView(APIView): users = reverse('main:users_list'), projects = reverse('main:projects_list'), teams = reverse('main:teams_list'), + credentials = reverse('main:credentials_list'), inventory = reverse('main:inventory_list'), groups = reverse('main:groups_list'), hosts = reverse('main:hosts_list'), @@ -592,6 +593,16 @@ class UsersDetail(BaseDetail): obj.save() request.DATA.pop('password') +class CredentialsList(BaseList): + + model = Credential + serializer_class = CredentialSerializer + permission_classes = (CustomRbac,) + postable = False + + def _get_queryset(self): + return get_user_queryset(self.request.user, self.model) + class CredentialsDetail(BaseDetail): model = Credential