From 3bb7184f288a1aab8ecd70b3940aeec6023fa65e Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 1 Feb 2022 15:14:13 -0500 Subject: [PATCH] Fixes #8499: Content types REST API endpoint should not require model permission --- docs/release-notes/version-3.1.md | 1 + netbox/extras/api/views.py | 2 ++ netbox/extras/tests/test_api.py | 2 -- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index 9554c1ddf..5369bb935 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -16,6 +16,7 @@ * [#8377](https://github.com/netbox-community/netbox/issues/8377) - Fix calculation of absolute cable lengths when specified in fractional units * [#8456](https://github.com/netbox-community/netbox/issues/8456) - Fix redundant display of VRF RD in prefix view * [#8465](https://github.com/netbox-community/netbox/issues/8465) - Accept empty string values for Interface `rf_channel` in REST API +* [#8499](https://github.com/netbox-community/netbox/issues/8499) - Content types REST API endpoint should not require model permission --- diff --git a/netbox/extras/api/views.py b/netbox/extras/api/views.py index fbeba8328..074a33823 100644 --- a/netbox/extras/api/views.py +++ b/netbox/extras/api/views.py @@ -4,6 +4,7 @@ from django_rq.queues import get_connection from rest_framework import status from rest_framework.decorators import action from rest_framework.exceptions import PermissionDenied +from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.routers import APIRootView from rest_framework.viewsets import ReadOnlyModelViewSet, ViewSet @@ -382,6 +383,7 @@ class ContentTypeViewSet(ReadOnlyModelViewSet): """ Read-only list of ContentTypes. Limit results to ContentTypes pertinent to NetBox objects. """ + permission_classes = (IsAuthenticated,) queryset = ContentType.objects.order_by('app_label', 'model') serializer_class = serializers.ContentTypeSerializer filterset_class = filtersets.ContentTypeFilterSet diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index d15b57e43..8769a9015 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -608,7 +608,6 @@ class CreatedUpdatedFilterTest(APITestCase): class ContentTypeTest(APITestCase): - @override_settings(EXEMPT_VIEW_PERMISSIONS=['contenttypes.contenttype']) def test_list_objects(self): contenttype_count = ContentType.objects.count() @@ -616,7 +615,6 @@ class ContentTypeTest(APITestCase): self.assertHttpStatus(response, status.HTTP_200_OK) self.assertEqual(response.data['count'], contenttype_count) - @override_settings(EXEMPT_VIEW_PERMISSIONS=['contenttypes.contenttype']) def test_get_object(self): contenttype = ContentType.objects.first()