diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py
index bc3443a7a..27e048e50 100644
--- a/netbox/dcim/views.py
+++ b/netbox/dcim/views.py
@@ -510,29 +510,29 @@ class DeviceTypeView(View):
# Component tables
consoleport_table = tables.ConsolePortTemplateTable(
natsorted(ConsolePortTemplate.objects.filter(device_type=devicetype), key=attrgetter('name')),
- show_header=False
+ orderable=False
)
consoleserverport_table = tables.ConsoleServerPortTemplateTable(
natsorted(ConsoleServerPortTemplate.objects.filter(device_type=devicetype), key=attrgetter('name')),
- show_header=False
+ orderable=False
)
powerport_table = tables.PowerPortTemplateTable(
natsorted(PowerPortTemplate.objects.filter(device_type=devicetype), key=attrgetter('name')),
- show_header=False
+ orderable=False
)
poweroutlet_table = tables.PowerOutletTemplateTable(
natsorted(PowerOutletTemplate.objects.filter(device_type=devicetype), key=attrgetter('name')),
- show_header=False
+ orderable=False
)
interface_table = tables.InterfaceTemplateTable(
list(InterfaceTemplate.objects.order_naturally(
devicetype.interface_ordering
).filter(device_type=devicetype)),
- show_header=False
+ orderable=False
)
devicebay_table = tables.DeviceBayTemplateTable(
natsorted(DeviceBayTemplate.objects.filter(device_type=devicetype), key=attrgetter('name')),
- show_header=False
+ orderable=False
)
if request.user.has_perm('dcim.change_devicetype'):
consoleport_table.columns.show('pk')
diff --git a/netbox/project-static/css/base.css b/netbox/project-static/css/base.css
index 9bf583dd9..bd1570827 100644
--- a/netbox/project-static/css/base.css
+++ b/netbox/project-static/css/base.css
@@ -121,7 +121,7 @@ input[name="pk"] {
}
/* Tables */
-.table > tbody > tr > th.pk, .table > tbody > tr > td.pk {
+th.pk, td.pk {
padding-bottom: 6px;
padding-top: 10px;
width: 30px;
diff --git a/netbox/project-static/js/forms.js b/netbox/project-static/js/forms.js
index 50ee20e16..f0208df7b 100644
--- a/netbox/project-static/js/forms.js
+++ b/netbox/project-static/js/forms.js
@@ -1,14 +1,24 @@
$(document).ready(function() {
- // "Toggle all" checkbox (table header)
- $('#toggle_all').click(function() {
- $('td input:checkbox[name=pk]').prop('checked', $(this).prop('checked'));
+ // "Toggle" checkbox for object lists (PK column)
+ $('input:checkbox.toggle').click(function() {
+ $(this).closest('table').find('input:checkbox[name=pk]').prop('checked', $(this).prop('checked'));
+
+ // Show the "select all" box if present
if ($(this).is(':checked')) {
$('#select_all_box').removeClass('hidden');
} else {
$('#select_all').prop('checked', false);
}
});
+
+ // Uncheck the "toggle" and "select all" checkboxes if an item is unchecked
+ $('input:checkbox[name=pk]').click(function (event) {
+ if (!$(this).attr('checked')) {
+ $('input:checkbox.toggle, #select_all').prop('checked', false);
+ }
+ });
+
// Enable hidden buttons when "select all" is checked
$('#select_all').click(function() {
if ($(this).is(':checked')) {
@@ -17,21 +27,6 @@ $(document).ready(function() {
$('#select_all_box').find('button').prop('disabled', 'disabled');
}
});
- // Uncheck the "toggle all" checkbox if an item is unchecked
- $('input:checkbox[name=pk]').click(function (event) {
- if (!$(this).attr('checked')) {
- $('#select_all, #toggle_all').prop('checked', false);
- }
- });
-
- // Simple "Toggle all" button (panel)
- $('button.toggle').click(function() {
- var selected = $(this).attr('selected');
- $(this).closest('form').find('input:checkbox[name=pk]').prop('checked', !selected);
- $(this).attr('selected', !selected);
- $(this).children('span').toggleClass('glyphicon-unchecked glyphicon-check');
- return false;
- });
// Slugify
function slugify(s, num_chars) {
diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html
index a1f2576fb..59169fc65 100644
--- a/netbox/templates/dcim/device.html
+++ b/netbox/templates/dcim/device.html
@@ -376,27 +376,27 @@
Device Bays
-
- {% if perms.dcim.change_devicebay and device_bays|length > 1 %}
-
- {% endif %}
- {% if perms.dcim.add_devicebay and device_bays|length > 10 %}
-
- Add device bays
-
- {% endif %}
-
-
- {% for devicebay in device_bays %}
- {% include 'dcim/inc/devicebay.html' %}
- {% empty %}
+
{% if perms.dcim.add_devicebay or perms.dcim.delete_devicebay %}
-
-
- {% if perms.dcim.change_interface or perms.dcim.delete_interface %}
- |
- {% endif %}
- Name |
- LAG |
- Description |
- MTU |
- MAC Address |
- Connection |
- |
-
- {% for iface in interfaces %}
- {% include 'dcim/inc/interface.html' %}
- {% empty %}
+
{% if perms.dcim.add_interface or perms.dcim.delete_interface %}