1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Initial work on #20 - patch panels

This commit is contained in:
Jeremy Stretch
2018-10-03 14:04:16 -04:00
parent 364bbdeab8
commit 3eddeeadc5
18 changed files with 1101 additions and 34 deletions

View File

@ -14,9 +14,10 @@ from rest_framework.viewsets import GenericViewSet, ViewSet
from dcim import filters
from dcim.models import (
ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay,
DeviceBayTemplate, DeviceRole, DeviceType, Interface, InterfaceConnection, InterfaceTemplate, Manufacturer,
InventoryItem, Platform, PowerOutlet, PowerOutletTemplate, PowerPort, PowerPortTemplate, Rack, RackGroup,
RackReservation, RackRole, Region, Site, VirtualChassis,
DeviceBayTemplate, DeviceRole, DeviceType, FrontPanelPort, FrontPanelPortTemplate, Interface, InterfaceConnection,
InterfaceTemplate, Manufacturer, InventoryItem, Platform, PowerOutlet, PowerOutletTemplate, PowerPort,
PowerPortTemplate, Rack, RackGroup, RackReservation, RackRole, RearPanelPort, RearPanelPortTemplate, Region, Site,
VirtualChassis,
)
from extras.api.serializers import RenderedGraphSerializer
from extras.api.views import CustomFieldModelViewSet
@ -191,6 +192,18 @@ class InterfaceTemplateViewSet(ModelViewSet):
filter_class = filters.InterfaceTemplateFilter
class FrontPanelPortTemplateViewSet(ModelViewSet):
queryset = FrontPanelPortTemplate.objects.select_related('device_type__manufacturer')
serializer_class = serializers.FrontPanelPortTemplateSerializer
filter_class = filters.FrontPanelPortTemplateFilter
class RearPanelPortTemplateViewSet(ModelViewSet):
queryset = RearPanelPortTemplate.objects.select_related('device_type__manufacturer')
serializer_class = serializers.RearPanelPortTemplateSerializer
filter_class = filters.RearPanelPortTemplateFilter
class DeviceBayTemplateViewSet(ModelViewSet):
queryset = DeviceBayTemplate.objects.select_related('device_type__manufacturer')
serializer_class = serializers.DeviceBayTemplateSerializer
@ -352,6 +365,18 @@ class InterfaceViewSet(ModelViewSet):
return Response(serializer.data)
class FrontPanelPortViewSet(ModelViewSet):
queryset = FrontPanelPort.objects.select_related('device__device_type__manufacturer', 'rear_port')
serializer_class = serializers.FrontPanelPortSerializer
filter_class = filters.FrontPanelPortFilter
class RearPanelPortViewSet(ModelViewSet):
queryset = RearPanelPort.objects.select_related('device__device_type__manufacturer')
serializer_class = serializers.RearPanelPortSerializer
filter_class = filters.RearPanelPortFilter
class DeviceBayViewSet(ModelViewSet):
queryset = DeviceBay.objects.select_related('installed_device').prefetch_related('tags')
serializer_class = serializers.DeviceBaySerializer