Fixes #2781: Fixes filter by regions on site and device list

This commit is contained in:
dansheps 2019-02-22 21:39:44 -06:00
parent 8dfef83f1a
commit 8981e8b292
2 changed files with 15 additions and 12 deletions

View File

@ -2,6 +2,7 @@ v2.5.8 (FUTURE)
## Bug Fixes ## Bug Fixes
* [#2781](https://github.com/digitalocean/netbox/issues/2781) - Filtering sites by multiple regions
* [#2923](https://github.com/digitalocean/netbox/issues/2923) - Provider filter form's site field should be blank by default * [#2923](https://github.com/digitalocean/netbox/issues/2923) - Provider filter form's site field should be blank by default
--- ---

View File

@ -49,14 +49,14 @@ class SiteFilter(CustomFieldFilterSet, django_filters.FilterSet):
choices=SITE_STATUS_CHOICES, choices=SITE_STATUS_CHOICES,
null_value=None null_value=None
) )
region_id = django_filters.NumberFilter( region_id = django_filters.ModelMultipleChoiceFilter(
method='filter_region', queryset=Region.objects.all(),
field_name='pk',
label='Region (ID)', label='Region (ID)',
) )
region = django_filters.CharFilter( region = django_filters.ModelMultipleChoiceFilter(
method='filter_region', field_name='region__slug',
field_name='slug', queryset=Region.objects.all(),
to_field_name='slug',
label='Region (slug)', label='Region (slug)',
) )
tenant_id = django_filters.ModelMultipleChoiceFilter( tenant_id = django_filters.ModelMultipleChoiceFilter(
@ -513,14 +513,16 @@ class DeviceFilter(CustomFieldFilterSet):
) )
name = NullableCharFieldFilter() name = NullableCharFieldFilter()
asset_tag = NullableCharFieldFilter() asset_tag = NullableCharFieldFilter()
region_id = django_filters.NumberFilter( region_id = django_filters.ModelMultipleChoiceFilter(
method='filter_region', field_name='site__region__id',
field_name='pk', queryset=Region.objects.all(),
to_field_name='id',
label='Region (ID)', label='Region (ID)',
) )
region = django_filters.CharFilter( region = django_filters.ModelMultipleChoiceFilter(
method='filter_region', field_name='site__region__slug',
field_name='slug', queryset=Region.objects.all(),
to_field_name='slug',
label='Region (slug)', label='Region (slug)',
) )
site_id = django_filters.ModelMultipleChoiceFilter( site_id = django_filters.ModelMultipleChoiceFilter(