From 6ca9e2a777850ca5b9a3c0b734c5aba884f7b364 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 18 Dec 2020 12:09:41 -0500 Subject: [PATCH] Closes #5496: Add form field to filter rack reservation by user --- docs/release-notes/version-2.10.md | 1 + netbox/dcim/forms.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-2.10.md b/docs/release-notes/version-2.10.md index a7404ab3c..2534d2403 100644 --- a/docs/release-notes/version-2.10.md +++ b/docs/release-notes/version-2.10.md @@ -5,6 +5,7 @@ ### Enhancements * [#5489](https://github.com/netbox-community/netbox/issues/5489) - Add filters for type and width to racks list +* [#5496](https://github.com/netbox-community/netbox/issues/5496) - Add form field to filter rack reservation by user ### Bug Fixes diff --git a/netbox/dcim/forms.py b/netbox/dcim/forms.py index 930ac166b..7ecd4efd8 100644 --- a/netbox/dcim/forms.py +++ b/netbox/dcim/forms.py @@ -21,7 +21,7 @@ from ipam.models import IPAddress, VLAN from tenancy.forms import TenancyFilterForm, TenancyForm from tenancy.models import Tenant, TenantGroup from utilities.forms import ( - APISelect, add_blank_choice, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect, + APISelect, APISelectMultiple, add_blank_choice, BootstrapMixin, BulkEditForm, BulkEditNullBooleanSelect, ColorSelect, CommentField, CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, CSVModelForm, DynamicModelChoiceField, DynamicModelMultipleChoiceField, ExpandableNameField, form_from_model, JSONField, NumericArrayField, SelectWithPK, SmallTextarea, SlugField, StaticSelect2, StaticSelect2Multiple, TagFilterField, @@ -860,7 +860,7 @@ class RackReservationBulkEditForm(BootstrapMixin, AddRemoveTagsForm, BulkEditFor class RackReservationFilterForm(BootstrapMixin, TenancyFilterForm): model = RackReservation - field_order = ['q', 'region', 'site', 'group_id', 'tenant_group', 'tenant'] + field_order = ['q', 'region', 'site', 'group_id', 'user_id', 'tenant_group', 'tenant'] q = forms.CharField( required=False, label='Search' @@ -884,6 +884,15 @@ class RackReservationFilterForm(BootstrapMixin, TenancyFilterForm): label='Rack group', null_option='None' ) + user_id = DynamicModelMultipleChoiceField( + queryset=User.objects.all(), + required=False, + display_field='username', + label='User', + widget=APISelectMultiple( + api_url='/api/users/users/', + ) + ) tag = TagFilterField(model)