|
1 | 1 | from typing import Dict |
2 | 2 | import sys |
3 | 3 |
|
| 4 | +from netbox.api.viewsets import BaseViewSet |
| 5 | + |
4 | 6 | from circuits.models import Circuit |
5 | 7 | from dcim.models import Device, DeviceRole, PowerFeed, PowerPanel |
6 | 8 | from extras.models import SavedFilter |
|
22 | 24 | from netbox_topology_views.utils import get_image_from_url, export_data_to_xml, get_query_settings |
23 | 25 | from netbox_topology_views.filters import DeviceFilterSet |
24 | 26 |
|
25 | | -class SaveCoordsViewSet(PermissionRequiredMixin, ReadOnlyModelViewSet): |
| 27 | +class SaveCoordsViewSet(BaseViewSet, ReadOnlyModelViewSet): |
26 | 28 | permission_required = 'netbox_topology_views.change_coordinate' |
27 | 29 |
|
28 | 30 | queryset = Device.objects.none() |
@@ -89,9 +91,7 @@ def save_coords(self, request): |
89 | 91 |
|
90 | 92 | return Response({"status": "saved coords"}) |
91 | 93 |
|
92 | | -class ExportTopoToXML(PermissionRequiredMixin, ViewSet): |
93 | | - permission_required = ("dcim.view_site", "dcim.view_device") |
94 | | - |
| 94 | +class ExportTopoToXML(BaseViewSet, ViewSet): |
95 | 95 | queryset = Device.objects.none() |
96 | 96 | serializer_class = TopologyDummySerializer |
97 | 97 |
|
@@ -173,7 +173,7 @@ def list(self, request): |
173 | 173 | {"status": "Missing or malformed request parameters"}, status=400 |
174 | 174 | ) |
175 | 175 |
|
176 | | -class SaveRoleImageViewSet(PermissionRequiredMixin, ReadOnlyModelViewSet): |
| 176 | +class SaveRoleImageViewSet(BaseViewSet, ReadOnlyModelViewSet): |
177 | 177 | queryset = DeviceRole.objects.none() |
178 | 178 | serializer_class = RoleImageSerializer |
179 | 179 | permission_required = ( |
|
0 commit comments