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.change_devicebay or perms.dcim.delete_devicebay %} + + {% endif %} + + + - {% endfor %} + + + {% for devicebay in device_bays %} + {% include 'dcim/inc/devicebay.html' %} + {% empty %} + + + + {% endfor %} +
No device bays definedNameInstalled Device
— No device bays defined —
{% if perms.dcim.add_devicebay or perms.dcim.delete_devicebay %}
- - - {% if perms.dcim.change_interface or perms.dcim.delete_interface %} - - {% endif %} - - - - - - - - - {% for iface in interfaces %} - {% include 'dcim/inc/interface.html' %} - {% empty %} +
NameLAGDescriptionMTUMAC AddressConnection
+ - + {% if perms.dcim.change_interface or perms.dcim.delete_interface %} + + {% endif %} + + + + + + + - {% endfor %} + + + {% for iface in interfaces %} + {% include 'dcim/inc/interface.html' %} + {% empty %} + + + + {% endfor %} +
No interfaces definedNameLAGDescriptionMTUMAC AddressConnection
— No interfaces defined —
{% if perms.dcim.add_interface or perms.dcim.delete_interface %}