|
@@ -94,6 +94,17 @@ class SiteFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet
|
|
|
|
|
|
|
|
|
|
|
|
|
class RackGroupFilter(NameSlugSearchFilterSet):
|
|
class RackGroupFilter(NameSlugSearchFilterSet):
|
|
|
|
|
+ region_id = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='site__region__in',
|
|
|
|
|
+ label='Region (ID)',
|
|
|
|
|
+ )
|
|
|
|
|
+ region = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='site__region__in',
|
|
|
|
|
+ to_field_name='slug',
|
|
|
|
|
+ label='Region (slug)',
|
|
|
|
|
+ )
|
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
queryset=Site.objects.all(),
|
|
queryset=Site.objects.all(),
|
|
|
label='Site (ID)',
|
|
label='Site (ID)',
|
|
@@ -126,6 +137,17 @@ class RackFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet
|
|
|
method='search',
|
|
method='search',
|
|
|
label='Search',
|
|
label='Search',
|
|
|
)
|
|
)
|
|
|
|
|
+ region_id = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='site__region__in',
|
|
|
|
|
+ label='Region (ID)',
|
|
|
|
|
+ )
|
|
|
|
|
+ region = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='site__region__in',
|
|
|
|
|
+ to_field_name='slug',
|
|
|
|
|
+ label='Region (slug)',
|
|
|
|
|
+ )
|
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
queryset=Site.objects.all(),
|
|
queryset=Site.objects.all(),
|
|
|
label='Site (ID)',
|
|
label='Site (ID)',
|
|
@@ -889,6 +911,28 @@ class InventoryItemFilter(DeviceComponentFilterSet):
|
|
|
method='search',
|
|
method='search',
|
|
|
label='Search',
|
|
label='Search',
|
|
|
)
|
|
)
|
|
|
|
|
+ region_id = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='device__site__region__in',
|
|
|
|
|
+ label='Region (ID)',
|
|
|
|
|
+ )
|
|
|
|
|
+ region = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='device__site__region__in',
|
|
|
|
|
+ to_field_name='slug',
|
|
|
|
|
+ label='Region (slug)',
|
|
|
|
|
+ )
|
|
|
|
|
+ site_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
|
|
+ field_name='device__site',
|
|
|
|
|
+ queryset=Site.objects.all(),
|
|
|
|
|
+ label='Site (ID)',
|
|
|
|
|
+ )
|
|
|
|
|
+ site = django_filters.ModelMultipleChoiceFilter(
|
|
|
|
|
+ field_name='device__site__slug',
|
|
|
|
|
+ queryset=Site.objects.all(),
|
|
|
|
|
+ to_field_name='slug',
|
|
|
|
|
+ label='Site name (slug)',
|
|
|
|
|
+ )
|
|
|
device_id = django_filters.ModelChoiceFilter(
|
|
device_id = django_filters.ModelChoiceFilter(
|
|
|
queryset=Device.objects.all(),
|
|
queryset=Device.objects.all(),
|
|
|
label='Device (ID)',
|
|
label='Device (ID)',
|
|
@@ -938,6 +982,17 @@ class VirtualChassisFilter(django_filters.FilterSet):
|
|
|
method='search',
|
|
method='search',
|
|
|
label='Search',
|
|
label='Search',
|
|
|
)
|
|
)
|
|
|
|
|
+ region_id = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='master__site__region__in',
|
|
|
|
|
+ label='Region (ID)',
|
|
|
|
|
+ )
|
|
|
|
|
+ region = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='master__site__region__in',
|
|
|
|
|
+ to_field_name='slug',
|
|
|
|
|
+ label='Region (slug)',
|
|
|
|
|
+ )
|
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
field_name='master__site',
|
|
field_name='master__site',
|
|
|
queryset=Site.objects.all(),
|
|
queryset=Site.objects.all(),
|
|
@@ -1136,6 +1191,17 @@ class PowerPanelFilter(django_filters.FilterSet):
|
|
|
method='search',
|
|
method='search',
|
|
|
label='Search',
|
|
label='Search',
|
|
|
)
|
|
)
|
|
|
|
|
+ region_id = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='site__region__in',
|
|
|
|
|
+ label='Region (ID)',
|
|
|
|
|
+ )
|
|
|
|
|
+ region = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='site__region__in',
|
|
|
|
|
+ to_field_name='slug',
|
|
|
|
|
+ label='Region (slug)',
|
|
|
|
|
+ )
|
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
queryset=Site.objects.all(),
|
|
queryset=Site.objects.all(),
|
|
|
label='Site (ID)',
|
|
label='Site (ID)',
|
|
@@ -1174,6 +1240,17 @@ class PowerFeedFilter(CustomFieldFilterSet, CreatedUpdatedFilterSet):
|
|
|
method='search',
|
|
method='search',
|
|
|
label='Search',
|
|
label='Search',
|
|
|
)
|
|
)
|
|
|
|
|
+ region_id = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='power_panel__site__region__in',
|
|
|
|
|
+ label='Region (ID)',
|
|
|
|
|
+ )
|
|
|
|
|
+ region = TreeNodeMultipleChoiceFilter(
|
|
|
|
|
+ queryset=Region.objects.all(),
|
|
|
|
|
+ field_name='power_panel__site__region__in',
|
|
|
|
|
+ to_field_name='slug',
|
|
|
|
|
+ label='Region (slug)',
|
|
|
|
|
+ )
|
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
site_id = django_filters.ModelMultipleChoiceFilter(
|
|
|
field_name='power_panel__site',
|
|
field_name='power_panel__site',
|
|
|
queryset=Site.objects.all(),
|
|
queryset=Site.objects.all(),
|