2020from netbox .api .metadata import ContentTypeMetadata
2121from netbox .api .pagination import StripCountAnnotationsPaginator
2222from netbox .api .renderers import TextRenderer
23- from netbox .api .viewsets import NetBoxModelViewSet
23+ from netbox .api .viewsets import NetBoxModelViewSet , MPTTLockedMixin
2424from netbox .api .viewsets .mixins import SequentialBulkCreatesMixin
2525from netbox .constants import NESTED_SERIALIZER_PREFIX
2626from utilities .api import get_serializer_for_model
@@ -98,7 +98,7 @@ def paths(self, request, pk):
9898# Regions
9999#
100100
101- class RegionViewSet (NetBoxModelViewSet ):
101+ class RegionViewSet (MPTTLockedMixin , NetBoxModelViewSet ):
102102 queryset = Region .objects .add_related_count (
103103 Region .objects .all (),
104104 Site ,
@@ -114,7 +114,7 @@ class RegionViewSet(NetBoxModelViewSet):
114114# Site groups
115115#
116116
117- class SiteGroupViewSet (NetBoxModelViewSet ):
117+ class SiteGroupViewSet (MPTTLockedMixin , NetBoxModelViewSet ):
118118 queryset = SiteGroup .objects .add_related_count (
119119 SiteGroup .objects .all (),
120120 Site ,
@@ -149,7 +149,7 @@ class SiteViewSet(NetBoxModelViewSet):
149149# Locations
150150#
151151
152- class LocationViewSet (NetBoxModelViewSet ):
152+ class LocationViewSet (MPTTLockedMixin , NetBoxModelViewSet ):
153153 queryset = Location .objects .add_related_count (
154154 Location .objects .add_related_count (
155155 Location .objects .all (),
@@ -350,7 +350,7 @@ class DeviceBayTemplateViewSet(NetBoxModelViewSet):
350350 filterset_class = filtersets .DeviceBayTemplateFilterSet
351351
352352
353- class InventoryItemTemplateViewSet (NetBoxModelViewSet ):
353+ class InventoryItemTemplateViewSet (MPTTLockedMixin , NetBoxModelViewSet ):
354354 queryset = InventoryItemTemplate .objects .prefetch_related ('device_type__manufacturer' , 'role' )
355355 serializer_class = serializers .InventoryItemTemplateSerializer
356356 filterset_class = filtersets .InventoryItemTemplateFilterSet
@@ -538,7 +538,7 @@ class DeviceBayViewSet(NetBoxModelViewSet):
538538 brief_prefetch_fields = ['device' ]
539539
540540
541- class InventoryItemViewSet (NetBoxModelViewSet ):
541+ class InventoryItemViewSet (MPTTLockedMixin , NetBoxModelViewSet ):
542542 queryset = InventoryItem .objects .prefetch_related ('device' , 'manufacturer' , 'tags' )
543543 serializer_class = serializers .InventoryItemSerializer
544544 filterset_class = filtersets .InventoryItemFilterSet
0 commit comments