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:
@ -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
|
||||
|
Reference in New Issue
Block a user