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:
@ -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
|
||||||
#
|
#
|
||||||
|
@ -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),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user