|
|
@@ -93,6 +93,17 @@ class SiteFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet
|
|
|
|
|
|
|
|
|
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(
|
|
|
queryset=Site.objects.all(),
|
|
|
label='Site (ID)',
|
|
|
@@ -125,6 +136,17 @@ class RackFilter(TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet
|
|
|
method='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(
|
|
|
queryset=Site.objects.all(),
|
|
|
label='Site (ID)',
|
|
|
@@ -831,6 +853,28 @@ class InventoryItemFilter(DeviceComponentFilterSet):
|
|
|
method='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(
|
|
|
queryset=Device.objects.all(),
|
|
|
label='Device (ID)',
|
|
|
@@ -880,6 +924,17 @@ class VirtualChassisFilter(django_filters.FilterSet):
|
|
|
method='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(
|
|
|
field_name='master__site',
|
|
|
queryset=Site.objects.all(),
|
|
|
@@ -1078,6 +1133,17 @@ class PowerPanelFilter(django_filters.FilterSet):
|
|
|
method='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(
|
|
|
queryset=Site.objects.all(),
|
|
|
label='Site (ID)',
|
|
|
@@ -1116,6 +1182,17 @@ class PowerFeedFilter(CustomFieldFilterSet, CreatedUpdatedFilterSet):
|
|
|
method='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(
|
|
|
field_name='power_panel__site',
|
|
|
queryset=Site.objects.all(),
|