diff --git a/docs/release-notes/version-2.11.md b/docs/release-notes/version-2.11.md index 4a6943a57..44dce6b27 100644 --- a/docs/release-notes/version-2.11.md +++ b/docs/release-notes/version-2.11.md @@ -2,6 +2,10 @@ ## v2.11.1 (FUTURE) +### Enhancements + +* [#6189](https://github.com/netbox-community/netbox/issues/6189) - Add ability to search for locations by name or description + ### Bug Fixes * [#6184](https://github.com/netbox-community/netbox/issues/6184) - Fix parent object table column in prefix IP addresses list diff --git a/netbox/dcim/filters.py b/netbox/dcim/filters.py index 7ae016dc4..2dc4faefb 100644 --- a/netbox/dcim/filters.py +++ b/netbox/dcim/filters.py @@ -209,6 +209,14 @@ class LocationFilterSet(BaseFilterSet, NameSlugSearchFilterSet): model = Location fields = ['id', 'name', 'slug', 'description'] + def search(self, queryset, name, value): + if not value.strip(): + return queryset + return queryset.filter( + Q(name__icontains=value) | + Q(description__icontains=value) + ) + class RackRoleFilterSet(BaseFilterSet, NameSlugSearchFilterSet): diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 740653a26..d63106fbf 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -559,6 +559,10 @@ class LocationBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): class LocationFilterForm(BootstrapMixin, CustomFieldFilterForm): model = Location + q = forms.CharField( + required=False, + label=_('Search') + ) region_id = DynamicModelMultipleChoiceField( queryset=Region.objects.all(), required=False,