diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py
index ae59890a3..89f051b2a 100644
--- a/netbox/dcim/views.py
+++ b/netbox/dcim/views.py
@@ -152,7 +152,6 @@ class RegionListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.RegionFilterSet
filterset_form = forms.RegionFilterForm
table = tables.RegionTable
- template_name = 'dcim/region_list.html'
class RegionCreateView(PermissionRequiredMixin, ObjectEditView):
@@ -191,7 +190,6 @@ class SiteListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.SiteFilterSet
filterset_form = forms.SiteFilterForm
table = tables.SiteTable
- template_name = 'dcim/site_list.html'
class SiteView(PermissionRequiredMixin, View):
@@ -271,7 +269,6 @@ class RackGroupListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.RackGroupFilterSet
filterset_form = forms.RackGroupFilterForm
table = tables.RackGroupTable
- template_name = 'dcim/rackgroup_list.html'
class RackGroupCreateView(PermissionRequiredMixin, ObjectEditView):
@@ -308,7 +305,6 @@ class RackRoleListView(PermissionRequiredMixin, ObjectListView):
permission_required = 'dcim.view_rackrole'
queryset = RackRole.objects.annotate(rack_count=Count('racks'))
table = tables.RackRoleTable
- template_name = 'dcim/rackrole_list.html'
class RackRoleCreateView(PermissionRequiredMixin, ObjectEditView):
@@ -350,7 +346,6 @@ class RackListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.RackFilterSet
filterset_form = forms.RackFilterForm
table = tables.RackDetailTable
- template_name = 'dcim/rack_list.html'
class RackElevationListView(PermissionRequiredMixin, View):
@@ -474,7 +469,7 @@ class RackReservationListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.RackReservationFilterSet
filterset_form = forms.RackReservationFilterForm
table = tables.RackReservationTable
- template_name = 'dcim/rackreservation_list.html'
+ action_buttons = ()
class RackReservationCreateView(PermissionRequiredMixin, ObjectEditView):
@@ -533,7 +528,6 @@ class ManufacturerListView(PermissionRequiredMixin, ObjectListView):
platform_count=Count('platforms', distinct=True),
)
table = tables.ManufacturerTable
- template_name = 'dcim/manufacturer_list.html'
class ManufacturerCreateView(PermissionRequiredMixin, ObjectEditView):
@@ -571,7 +565,6 @@ class DeviceTypeListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.DeviceTypeFilterSet
filterset_form = forms.DeviceTypeFilterForm
table = tables.DeviceTypeTable
- template_name = 'dcim/devicetype_list.html'
class DeviceTypeView(PermissionRequiredMixin, View):
@@ -995,7 +988,6 @@ class DeviceRoleListView(PermissionRequiredMixin, ObjectListView):
permission_required = 'dcim.view_devicerole'
queryset = DeviceRole.objects.all()
table = tables.DeviceRoleTable
- template_name = 'dcim/devicerole_list.html'
class DeviceRoleCreateView(PermissionRequiredMixin, ObjectEditView):
@@ -1031,7 +1023,6 @@ class PlatformListView(PermissionRequiredMixin, ObjectListView):
permission_required = 'dcim.view_platform'
queryset = Platform.objects.all()
table = tables.PlatformTable
- template_name = 'dcim/platform_list.html'
class PlatformCreateView(PermissionRequiredMixin, ObjectEditView):
@@ -1071,6 +1062,7 @@ class DeviceListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.DeviceFilterSet
filterset_form = forms.DeviceFilterForm
table = tables.DeviceDetailTable
+ # TODO: Remove custom template
template_name = 'dcim/device_list.html'
@@ -1292,7 +1284,7 @@ class ConsolePortListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.ConsolePortFilterSet
filterset_form = forms.ConsolePortFilterForm
table = tables.ConsolePortDetailTable
- template_name = 'dcim/consoleport_list.html'
+ action_buttons = ('import', 'export')
class ConsolePortCreateView(PermissionRequiredMixin, ComponentCreateView):
@@ -1345,7 +1337,7 @@ class ConsoleServerPortListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.ConsoleServerPortFilterSet
filterset_form = forms.ConsoleServerPortFilterForm
table = tables.ConsoleServerPortDetailTable
- template_name = 'dcim/consoleserverport_list.html'
+ action_buttons = ('import', 'export')
class ConsoleServerPortCreateView(PermissionRequiredMixin, ComponentCreateView):
@@ -1410,7 +1402,7 @@ class PowerPortListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.PowerPortFilterSet
filterset_form = forms.PowerPortFilterForm
table = tables.PowerPortDetailTable
- template_name = 'dcim/powerport_list.html'
+ action_buttons = ('import', 'export')
class PowerPortCreateView(PermissionRequiredMixin, ComponentCreateView):
@@ -1463,7 +1455,7 @@ class PowerOutletListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.PowerOutletFilterSet
filterset_form = forms.PowerOutletFilterForm
table = tables.PowerOutletDetailTable
- template_name = 'dcim/poweroutlet_list.html'
+ action_buttons = ('import', 'export')
class PowerOutletCreateView(PermissionRequiredMixin, ComponentCreateView):
@@ -1528,7 +1520,7 @@ class InterfaceListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.InterfaceFilterSet
filterset_form = forms.InterfaceFilterForm
table = tables.InterfaceDetailTable
- template_name = 'dcim/interface_list.html'
+ action_buttons = ('import', 'export')
class InterfaceView(PermissionRequiredMixin, View):
@@ -1630,7 +1622,7 @@ class FrontPortListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.FrontPortFilterSet
filterset_form = forms.FrontPortFilterForm
table = tables.FrontPortDetailTable
- template_name = 'dcim/frontport_list.html'
+ action_buttons = ('import', 'export')
class FrontPortCreateView(PermissionRequiredMixin, ComponentCreateView):
@@ -1695,7 +1687,7 @@ class RearPortListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.RearPortFilterSet
filterset_form = forms.RearPortFilterForm
table = tables.RearPortDetailTable
- template_name = 'dcim/rearport_list.html'
+ action_buttons = ('import', 'export')
class RearPortCreateView(PermissionRequiredMixin, ComponentCreateView):
@@ -1762,7 +1754,7 @@ class DeviceBayListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.DeviceBayFilterSet
filterset_form = forms.DeviceBayFilterForm
table = tables.DeviceBayDetailTable
- template_name = 'dcim/devicebay_list.html'
+ action_buttons = ('import', 'export')
class DeviceBayCreateView(PermissionRequiredMixin, ComponentCreateView):
@@ -1961,7 +1953,7 @@ class CableListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.CableFilterSet
filterset_form = forms.CableFilterForm
table = tables.CableTable
- template_name = 'dcim/cable_list.html'
+ action_buttons = ('import', 'export')
class CableView(PermissionRequiredMixin, View):
@@ -2233,7 +2225,7 @@ class InventoryItemListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.InventoryItemFilterSet
filterset_form = forms.InventoryItemFilterForm
table = tables.InventoryItemTable
- template_name = 'dcim/inventoryitem_list.html'
+ action_buttons = ('import', 'export')
class InventoryItemEditView(PermissionRequiredMixin, ObjectEditView):
@@ -2289,7 +2281,7 @@ class VirtualChassisListView(PermissionRequiredMixin, ObjectListView):
table = tables.VirtualChassisTable
filterset = filters.VirtualChassisFilterSet
filterset_form = forms.VirtualChassisFilterForm
- template_name = 'dcim/virtualchassis_list.html'
+ action_buttons = ('export')
class VirtualChassisCreateView(PermissionRequiredMixin, View):
@@ -2533,7 +2525,6 @@ class PowerPanelListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.PowerPanelFilterSet
filterset_form = forms.PowerPanelFilterForm
table = tables.PowerPanelTable
- template_name = 'dcim/powerpanel_list.html'
class PowerPanelView(PermissionRequiredMixin, View):
@@ -2602,7 +2593,6 @@ class PowerFeedListView(PermissionRequiredMixin, ObjectListView):
filterset = filters.PowerFeedFilterSet
filterset_form = forms.PowerFeedFilterForm
table = tables.PowerFeedTable
- template_name = 'dcim/powerfeed_list.html'
class PowerFeedView(PermissionRequiredMixin, View):
diff --git a/netbox/templates/dcim/cable_list.html b/netbox/templates/dcim/cable_list.html
deleted file mode 100644
index 0dd8095a5..000000000
--- a/netbox/templates/dcim/cable_list.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_cable %}
- {% import_button 'dcim:cable_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Cables{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:cable_bulk_edit' bulk_delete_url='dcim:cable_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/consoleport_list.html b/netbox/templates/dcim/consoleport_list.html
deleted file mode 100644
index 0ed840820..000000000
--- a/netbox/templates/dcim/consoleport_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Console Ports{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:consoleport_bulk_edit' bulk_delete_url='dcim:consoleport_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/consoleserverport_list.html b/netbox/templates/dcim/consoleserverport_list.html
deleted file mode 100644
index 47a8676e3..000000000
--- a/netbox/templates/dcim/consoleserverport_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Console Server Ports{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:consoleserverport_bulk_edit' bulk_delete_url='dcim:consoleserverport_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/devicebay_list.html b/netbox/templates/dcim/devicebay_list.html
deleted file mode 100644
index 74f64858a..000000000
--- a/netbox/templates/dcim/devicebay_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Device Bays{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:devicebay_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/devicerole_list.html b/netbox/templates/dcim/devicerole_list.html
deleted file mode 100644
index 9f560dab4..000000000
--- a/netbox/templates/dcim/devicerole_list.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_devicerole %}
- {% add_button 'dcim:devicerole_add' %}
- {% import_button 'dcim:devicerole_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Device Roles{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:devicerole_bulk_delete' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/devicetype_list.html b/netbox/templates/dcim/devicetype_list.html
deleted file mode 100644
index 75f587f5d..000000000
--- a/netbox/templates/dcim/devicetype_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_devicetype %}
- {% add_button 'dcim:devicetype_add' %}
- {% import_button 'dcim:devicetype_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Device Types{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:devicetype_bulk_edit' bulk_delete_url='dcim:devicetype_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/frontport_list.html b/netbox/templates/dcim/frontport_list.html
deleted file mode 100644
index a3334b876..000000000
--- a/netbox/templates/dcim/frontport_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Front Ports{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:frontport_bulk_edit' bulk_delete_url='dcim:frontport_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/interface_list.html b/netbox/templates/dcim/interface_list.html
deleted file mode 100644
index 9dd8f7858..000000000
--- a/netbox/templates/dcim/interface_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Interfaces{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:interface_bulk_edit' bulk_delete_url='dcim:interface_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/inventoryitem_list.html b/netbox/templates/dcim/inventoryitem_list.html
deleted file mode 100644
index 57e7d2d03..000000000
--- a/netbox/templates/dcim/inventoryitem_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-{% load helpers %}
-
-{% block content %}
-
- {% if perms.dcim.add_devicetype %}
- {% import_button 'dcim:inventoryitem_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Inventory Items{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:inventoryitem_bulk_edit' bulk_delete_url='dcim:inventoryitem_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/manufacturer_list.html b/netbox/templates/dcim/manufacturer_list.html
deleted file mode 100644
index 9b612dfa5..000000000
--- a/netbox/templates/dcim/manufacturer_list.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_manufacturer %}
- {% add_button 'dcim:manufacturer_add' %}
- {% import_button 'dcim:manufacturer_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Manufacturers{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:manufacturer_bulk_delete' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/platform_list.html b/netbox/templates/dcim/platform_list.html
deleted file mode 100644
index d82ef9a44..000000000
--- a/netbox/templates/dcim/platform_list.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_platform %}
- {% add_button 'dcim:platform_add' %}
- {% import_button 'dcim:platform_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Platforms{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:platform_bulk_delete' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/powerfeed_list.html b/netbox/templates/dcim/powerfeed_list.html
deleted file mode 100644
index e384cb2c2..000000000
--- a/netbox/templates/dcim/powerfeed_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_powerfeed %}
- {% add_button 'dcim:powerfeed_add' %}
- {% import_button 'dcim:powerfeed_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Power Feeds{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:powerfeed_bulk_edit' bulk_delete_url='dcim:powerfeed_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/poweroutlet_list.html b/netbox/templates/dcim/poweroutlet_list.html
deleted file mode 100644
index 2e842d699..000000000
--- a/netbox/templates/dcim/poweroutlet_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Power Outlets{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:poweroutlet_bulk_edit' bulk_delete_url='dcim:poweroutlet_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/powerpanel_list.html b/netbox/templates/dcim/powerpanel_list.html
deleted file mode 100644
index a0d49b30b..000000000
--- a/netbox/templates/dcim/powerpanel_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_powerpanel %}
- {% add_button 'dcim:powerpanel_add' %}
- {% import_button 'dcim:powerpanel_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Power Panels{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:powerpanel_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/powerport_list.html b/netbox/templates/dcim/powerport_list.html
deleted file mode 100644
index b5830edca..000000000
--- a/netbox/templates/dcim/powerport_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Power Ports{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:powerport_bulk_edit' bulk_delete_url='dcim:powerport_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/rack_list.html b/netbox/templates/dcim/rack_list.html
deleted file mode 100644
index 2724e4427..000000000
--- a/netbox/templates/dcim/rack_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_rack %}
- {% add_button 'dcim:rack_add' %}
- {% import_button 'dcim:rack_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Racks{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:rack_bulk_edit' bulk_delete_url='dcim:rack_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/rackgroup_list.html b/netbox/templates/dcim/rackgroup_list.html
deleted file mode 100644
index 52723ef92..000000000
--- a/netbox/templates/dcim/rackgroup_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_rackgroup %}
- {% add_button 'dcim:rackgroup_add' %}
- {% import_button 'dcim:rackgroup_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Rack Groups{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:rackgroup_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/rackreservation_list.html b/netbox/templates/dcim/rackreservation_list.html
deleted file mode 100644
index b5424bbe6..000000000
--- a/netbox/templates/dcim/rackreservation_list.html
+++ /dev/null
@@ -1,14 +0,0 @@
-{% extends '_base.html' %}
-{% load helpers %}
-
-{% block content %}
-{% block title %}Rack Reservations{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:rackreservation_bulk_edit' bulk_delete_url='dcim:rackreservation_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/rackrole_list.html b/netbox/templates/dcim/rackrole_list.html
deleted file mode 100644
index 267ef3c7f..000000000
--- a/netbox/templates/dcim/rackrole_list.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_rackrole %}
- {% add_button 'dcim:rackrole_add' %}
- {% import_button 'dcim:rackrole_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Rack Roles{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:rackrole_bulk_delete' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/rearport_list.html b/netbox/templates/dcim/rearport_list.html
deleted file mode 100644
index cc603d620..000000000
--- a/netbox/templates/dcim/rearport_list.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Rear Ports{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:rearport_bulk_edit' bulk_delete_url='dcim:rearport_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/region_list.html b/netbox/templates/dcim/region_list.html
deleted file mode 100644
index ec1adfc06..000000000
--- a/netbox/templates/dcim/region_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_region %}
- {% add_button 'dcim:region_add' %}
- {% import_button 'dcim:region_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Regions{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_delete_url='dcim:region_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/site_list.html b/netbox/templates/dcim/site_list.html
deleted file mode 100644
index ef9e0e411..000000000
--- a/netbox/templates/dcim/site_list.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-
-{% block content %}
-
- {% if perms.dcim.add_site %}
- {% add_button 'dcim:site_add' %}
- {% import_button 'dcim:site_import' %}
- {% endif %}
- {% export_button content_type %}
-
-{% block title %}Sites{% endblock %}
-
-
- {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:site_bulk_edit' bulk_delete_url='dcim:site_bulk_delete' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/dcim/virtualchassis_list.html b/netbox/templates/dcim/virtualchassis_list.html
deleted file mode 100644
index 55cfc1691..000000000
--- a/netbox/templates/dcim/virtualchassis_list.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends '_base.html' %}
-{% load buttons %}
-{% load helpers %}
-
-{% block content %}
-
- {% export_button content_type %}
-
-{% block title %}Virtual Chassis{% endblock %}
-
-
- {% include 'utilities/obj_table.html' %}
-
-
- {% include 'inc/search_panel.html' %}
-
-
-{% endblock %}
diff --git a/netbox/templates/utilities/obj_list.html b/netbox/templates/utilities/obj_list.html
index c06afaed8..dba9e2f36 100644
--- a/netbox/templates/utilities/obj_list.html
+++ b/netbox/templates/utilities/obj_list.html
@@ -4,11 +4,15 @@
{% block content %}
- {% if permissions.add %}
+ {% if permissions.add and 'add' in action_buttons %}
{% add_button content_type.model_class|url_name:"add" %}
+ {% endif %}
+ {% if permissions.add and 'import' in action_buttons %}
{% import_button content_type.model_class|url_name:"import" %}
{% endif %}
- {% export_button content_type %}
+ {% if 'export' in action_buttons %}
+ {% export_button content_type %}
+ {% endif %}
{% block title %}{{ content_type.model_class|model_name_plural|bettertitle }}{% endblock %}
diff --git a/netbox/utilities/views.py b/netbox/utilities/views.py
index 7618031ed..c93842d4b 100644
--- a/netbox/utilities/views.py
+++ b/netbox/utilities/views.py
@@ -72,6 +72,7 @@ class ObjectListView(View):
filterset_form = None
table = None
template_name = 'utilities/obj_list.html'
+ action_buttons = ('add', 'import', 'export')
def queryset_to_yaml(self):
"""
@@ -178,6 +179,7 @@ class ObjectListView(View):
'content_type': content_type,
'table': table,
'permissions': permissions,
+ 'action_buttons': self.action_buttons,
'filter_form': self.filterset_form(request.GET, label_suffix='') if self.filterset_form else None,
}
context.update(self.extra_context())