diff --git a/docs/release-notes/version-2.6.md b/docs/release-notes/version-2.6.md index 7e468ca2f..a516034aa 100644 --- a/docs/release-notes/version-2.6.md +++ b/docs/release-notes/version-2.6.md @@ -3,11 +3,13 @@ ## Enhancements * [#3705](https://github.com/netbox-community/netbox/issues/3705) - Provide request context when executing custom scripts -* [#3762](https://github.com/netbox-community/netbox/issues/3762) - Added date/time pickers +* [#3762](https://github.com/netbox-community/netbox/issues/3762) - Add date/time picker widgets +* [#3788](https://github.com/netbox-community/netbox/issues/3788) - Enable partial search for inventory items ## Bug Fixes * [#3695](https://github.com/netbox-community/netbox/issues/3695) - Include A/Z termination sites for circuits in global search +* [#3712](https://github.com/netbox-community/netbox/issues/3712) - Scrolling to target (hash) did not account for the header size * [#3780](https://github.com/netbox-community/netbox/issues/3780) - Fix AttributeError exception in API docs --- diff --git a/netbox/dcim/filters.py b/netbox/dcim/filters.py index cea279ddd..111469d98 100644 --- a/netbox/dcim/filters.py +++ b/netbox/dcim/filters.py @@ -868,8 +868,8 @@ class InventoryItemFilter(DeviceComponentFilterSet): qs_filter = ( Q(name__icontains=value) | Q(part_id__icontains=value) | - Q(serial__iexact=value) | - Q(asset_tag__iexact=value) | + Q(serial__icontains=value) | + Q(asset_tag__icontains=value) | Q(description__icontains=value) ) return queryset.filter(qs_filter) diff --git a/netbox/project-static/js/forms.js b/netbox/project-static/js/forms.js index 45e9a04a0..bcc6c4d31 100644 --- a/netbox/project-static/js/forms.js +++ b/netbox/project-static/js/forms.js @@ -371,4 +371,19 @@ $(document).ready(function() { }); $('select#id_mode').trigger('change'); } + + // Scroll up an offset equal to the first nav element if a hash is present + // Cannot use '#navbar' because it is not always visible, like in small windows + function headerOffsetScroll() { + if (window.location.hash) { + // Short wait needed to allow the page to scroll to the element + setTimeout(function() { + window.scrollBy(0, -$('nav').height()) + }, 10); + } + } + + // Account for the header height when hash-scrolling + window.addEventListener('load', headerOffsetScroll); + window.addEventListener('hashchange', headerOffsetScroll); });