From 7beac0b105ba71d0d3b71ba62d13d7d670f6ebb5 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 30 Jan 2017 16:15:12 -0500 Subject: [PATCH] Converted device component views to a router --- netbox/dcim/api/urls.py | 57 ++++++++++++++++++++-------------------- netbox/dcim/api/views.py | 14 +++++----- netbox/ipam/api/views.py | 2 +- 3 files changed, 37 insertions(+), 36 deletions(-) diff --git a/netbox/dcim/api/urls.py b/netbox/dcim/api/urls.py index c649d1ab6..a7c17b368 100644 --- a/netbox/dcim/api/urls.py +++ b/netbox/dcim/api/urls.py @@ -4,26 +4,54 @@ from rest_framework import routers from extras.models import GRAPH_TYPE_INTERFACE, GRAPH_TYPE_SITE from extras.api.views import GraphListView, TopologyMapView -from ipam.api.views import ChildServiceViewSet +from ipam.api.views import ServiceViewSet, DeviceServiceViewSet from . import views router = routers.DefaultRouter() + +# Sites router.register(r'sites', views.SiteViewSet) + +# Racks router.register(r'rack-groups', views.RackGroupViewSet) router.register(r'rack-roles', views.RackRoleViewSet) router.register(r'racks', views.RackViewSet) + +# Device types router.register(r'manufacturers', views.ManufacturerViewSet) router.register(r'device-types', views.DeviceTypeViewSet) + +# Devices router.register(r'device-roles', views.DeviceRoleViewSet) router.register(r'platforms', views.PlatformViewSet) router.register(r'devices', views.DeviceViewSet) +router.register(r'console-ports', views.ConsolePortViewSet) +router.register(r'console-server-ports', views.ConsoleServerPortViewSet) +router.register(r'power-ports', views.PowerPortViewSet) +router.register(r'power-outlets', views.PowerOutletViewSet) +router.register(r'interfaces', views.InterfaceViewSet) router.register(r'interface-connections', views.InterfaceConnectionViewSet) +router.register(r'device-bays', views.DeviceBayViewSet) +router.register(r'modules', views.ModuleViewSet) +router.register(r'services', ServiceViewSet) + +# Device components +device_router = routers.DefaultRouter() +device_router.register(r'console-ports', views.DeviceConsolePortViewSet, base_name='consoleport') +device_router.register(r'console-server-ports', views.DeviceConsoleServerPortViewSet, base_name='consoleserverport') +device_router.register(r'power-ports', views.DevicePowerPortViewSet, base_name='powerport') +device_router.register(r'power-outlets', views.DevicePowerOutletViewSet, base_name='poweroutlet') +device_router.register(r'interfaces', views.DeviceInterfaceViewSet, base_name='interface') +device_router.register(r'device-bays', views.DeviceDeviceBayViewSet, base_name='devicebay') +device_router.register(r'modules', views.DeviceModuleViewSet, base_name='module') +device_router.register(r'services', DeviceServiceViewSet, base_name='service') urlpatterns = [ url(r'', include(router.urls)), + url(r'^devices/(?P\d+)/', include(device_router.urls)), # Sites url(r'^sites/(?P\d+)/graphs/$', GraphListView.as_view(), {'type': GRAPH_TYPE_SITE}, name='site_graphs'), @@ -36,38 +64,11 @@ urlpatterns = [ # Devices url(r'^devices/(?P\d+)/lldp-neighbors/$', views.LLDPNeighborsView.as_view(), name='device_lldp-neighbors'), - url(r'^devices/(?P\d+)/console-ports/$', views.ChildConsolePortViewSet.as_view({'get': 'list'}), name='consoleport-list'), - url(r'^devices/(?P\d+)/console-server-ports/$', views.ChildConsoleServerPortViewSet.as_view({'get': 'list'}), name='consoleserverport-list'), - url(r'^devices/(?P\d+)/power-ports/$', views.ChildPowerPortViewSet.as_view({'get': 'list'}), name='powerport-list'), - url(r'^devices/(?P\d+)/power-outlets/$', views.ChildPowerOutletViewSet.as_view({'get': 'list'}), name='poweroutlet-list'), - url(r'^devices/(?P\d+)/interfaces/$', views.ChildInterfaceViewSet.as_view({'get': 'list'}), name='interface-list'), - url(r'^devices/(?P\d+)/device-bays/$', views.ChildDeviceBayViewSet.as_view({'get': 'list'}), name='devicebay-list'), - url(r'^devices/(?P\d+)/modules/$', views.ChildModuleViewSet.as_view({'get': 'list'}), name='module-list'), - url(r'^devices/(?P\d+)/services/$', ChildServiceViewSet.as_view({'get': 'list'}), name='service-list'), - - # Console ports - url(r'^console-ports/(?P\d+)/$', views.ConsolePortViewSet.as_view({'get': 'retrieve'}), name='consoleport-detail'), - - # Console server ports - url(r'^console-server-ports/(?P\d+)/$', views.ConsoleServerPortViewSet.as_view({'get': 'retrieve'}), name='consoleserverport-detail'), - - # Power ports - url(r'^power-ports/(?P\d+)/$', views.PowerPortViewSet.as_view({'get': 'retrieve'}), name='powerport-detail'), - - # Power outlets - url(r'^power-outlets/(?P\d+)/$', views.PowerOutletViewSet.as_view({'get': 'retrieve'}), name='poweroutlet-detail'), # Interfaces - url(r'^interfaces/(?P\d+)/$', views.InterfaceViewSet.as_view({'get': 'retrieve'}), name='interface-detail'), url(r'^interfaces/(?P\d+)/graphs/$', GraphListView.as_view(), {'type': GRAPH_TYPE_INTERFACE}, name='interface_graphs'), - # Device bays - url(r'^device-bays/(?P\d+)/$', views.DeviceBayViewSet.as_view({'get': 'retrieve'}), name='devicebay-detail'), - - # Modules - url(r'^modules/(?P\d+)/$', views.ModuleViewSet.as_view({'get': 'retrieve'}), name='module-detail'), - # Miscellaneous url(r'^related-connections/$', views.RelatedConnectionsView.as_view(), name='related_connections'), url(r'^topology-maps/(?P[\w-]+)/$', TopologyMapView.as_view(), name='topology_map'), diff --git a/netbox/dcim/api/views.py b/netbox/dcim/api/views.py index 9d3f5f681..472fc6931 100644 --- a/netbox/dcim/api/views.py +++ b/netbox/dcim/api/views.py @@ -150,7 +150,7 @@ class ConsolePortViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin serializer_class = serializers.ConsolePortSerializer -class ChildConsolePortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DeviceConsolePortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.DeviceConsolePortSerializer def get_queryset(self): @@ -168,7 +168,7 @@ class ConsoleServerPortViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyMode serializer_class = serializers.ConsoleServerPortSerializer -class ChildConsoleServerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DeviceConsoleServerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.DeviceConsoleServerPortSerializer def get_queryset(self): @@ -186,7 +186,7 @@ class PowerPortViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, serializer_class = serializers.PowerPortSerializer -class ChildPowerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DevicePowerPortViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.DevicePowerPortSerializer def get_queryset(self): @@ -204,7 +204,7 @@ class PowerOutletViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin serializer_class = serializers.PowerOutletSerializer -class ChildPowerOutletViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DevicePowerOutletViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.DevicePowerOutletSerializer def get_queryset(self): @@ -222,7 +222,7 @@ class InterfaceViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, serializer_class = serializers.InterfaceSerializer -class ChildInterfaceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DeviceInterfaceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.DeviceInterfaceSerializer filter_class = filters.InterfaceFilter @@ -242,7 +242,7 @@ class DeviceBayViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, serializer_class = serializers.DeviceBaySerializer -class ChildDeviceBayViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DeviceDeviceBayViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.ChildDeviceBaySerializer def get_queryset(self): @@ -259,7 +259,7 @@ class ModuleViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, Wri serializer_class = serializers.ModuleSerializer -class ChildModuleViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DeviceModuleViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.ChildModuleSerializer def get_queryset(self): diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index feedac9a7..aba741291 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -100,7 +100,7 @@ class ServiceViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, Wr serializer_class = serializers.ServiceSerializer -class ChildServiceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): +class DeviceServiceViewSet(CreateModelMixin, ListModelMixin, WritableSerializerMixin, GenericViewSet): serializer_class = serializers.ChildServiceSerializer def get_queryset(self):