1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixed #3187: Rack multi-selection field

This commit is contained in:
Saria Hajjar
2020-01-04 13:30:31 +00:00
parent feb04f0401
commit 4b19073b8b
2 changed files with 29 additions and 1 deletions

View File

@ -703,6 +703,34 @@ class RackFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
) )
#
# Rack elevations
#
class RackElevationFilterForm(RackFilterForm):
field_order = ['q', 'region', 'site', 'group_id', 'id', 'status', 'role', 'tenant_group', 'tenant']
id = ChainedModelChoiceField(
queryset=Rack.objects.all(),
label='Rack',
chains=(
('site', 'site'),
('group_id', 'group_id'),
),
required=False,
widget=APISelectMultiple(
api_url='/api/dcim/racks/',
display_field='display_name',
)
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Filter the rack field based on the site and group
self.fields['site'].widget.add_filter_for('id', 'site')
self.fields['group_id'].widget.add_filter_for('id', 'group_id')
# #
# Rack reservations # Rack reservations
# #

View File

@ -388,7 +388,7 @@ class RackElevationListView(PermissionRequiredMixin, View):
'page': page, 'page': page,
'total_count': total_count, 'total_count': total_count,
'face_id': face_id, 'face_id': face_id,
'filter_form': forms.RackFilterForm(request.GET), 'filter_form': forms.RackElevationFilterForm(request.GET),
}) })