Add rack name field to RackFilter

Thanks to additional field it is now possible to select arbitrary racks
for display e.g. in Rack Elevations view.
This commit is contained in:
Michal 'BlessJah' Marzuchowski 2019-05-15 17:35:55 +02:00
parent 62d497dd0b
commit 5d8c6d1126
2 changed files with 15 additions and 1 deletions

View File

@ -128,6 +128,12 @@ class RackFilter(TenancyFilterSet, CustomFieldFilterSet):
queryset=Site.objects.all(),
label='Site (ID)',
)
rack = django_filters.ModelMultipleChoiceFilter(
field_name='name',
queryset=Rack.objects.all(),
to_field_name='name',
label='Rack (name)',
)
site = django_filters.ModelMultipleChoiceFilter(
field_name='site__slug',
queryset=Site.objects.all(),

View File

@ -590,11 +590,19 @@ class RackBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulkEditFor
class RackFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
model = Rack
field_order = ['q', 'site', 'group_id', 'status', 'role', 'tenant_group', 'tenant']
field_order = ['q', 'rack', 'site', 'group_id', 'status', 'role', 'tenant_group', 'tenant']
q = forms.CharField(
required=False,
label='Search'
)
rack = FilterChoiceField(
queryset=Rack.objects.all(),
to_field_name='name',
widget=APISelectMultiple(
api_url="/api/dcim/racks/",
value_field="name",
)
)
site = FilterChoiceField(
queryset=Site.objects.all(),
to_field_name='slug',