Просмотр исходного кода

Closes #3529: Enable filtering circuits list by region

Jeremy Stretch 6 лет назад
Родитель
Сommit
b8d8cb33ff
2 измененных файлов с 15 добавлено и 4 удалено
  1. 2 2
      CHANGELOG.md
  2. 13 2
      netbox/circuits/forms.py

+ 2 - 2
CHANGELOG.md

@@ -3,6 +3,7 @@ v2.6.5 (FUTURE)
 ## Enhancements
 ## Enhancements
 
 
 * [#3524](https://github.com/netbox-community/netbox/issues/3524) -  Enable bulk editing of power outlet/power port associations
 * [#3524](https://github.com/netbox-community/netbox/issues/3524) -  Enable bulk editing of power outlet/power port associations
+* [#3529](https://github.com/netbox-community/netbox/issues/3529) -  Enable filtering circuits list by region
 
 
 ## Bug Fixes
 ## Bug Fixes
 
 
@@ -10,8 +11,7 @@ v2.6.5 (FUTURE)
 * [#3519](https://github.com/netbox-community/netbox/issues/3519) -  Prevent cables from being terminated to virtual/wireless interfaces via API
 * [#3519](https://github.com/netbox-community/netbox/issues/3519) -  Prevent cables from being terminated to virtual/wireless interfaces via API
 * [#3521](https://github.com/netbox-community/netbox/issues/3521) -  Fix error in `parseURL` related to variables in API URL
 * [#3521](https://github.com/netbox-community/netbox/issues/3521) -  Fix error in `parseURL` related to variables in API URL
 * [#3531](https://github.com/netbox-community/netbox/issues/3531) -  Fixed rack role foreground color
 * [#3531](https://github.com/netbox-community/netbox/issues/3531) -  Fixed rack role foreground color
-* [#3532](https://github.com/netbox-community/netbox/issues/3532) -  Added "device" to graph documentation under "type" field
-* [#3534](https://github.com/netbox-community/netbox/issues/3534) -  Added blank option for untagged vlans
+* [#3534](https://github.com/netbox-community/netbox/issues/3534) -  Added blank option for untagged VLANs
 
 
 v2.6.4 (2019-09-19)
 v2.6.4 (2019-09-19)
 
 

+ 13 - 2
netbox/circuits/forms.py

@@ -1,7 +1,7 @@
 from django import forms
 from django import forms
 from taggit.forms import TagField
 from taggit.forms import TagField
 
 
-from dcim.models import Site
+from dcim.models import Region, Site
 from extras.forms import AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm
 from extras.forms import AddRemoveTagsForm, CustomFieldForm, CustomFieldBulkEditForm, CustomFieldFilterForm
 from tenancy.forms import TenancyForm
 from tenancy.forms import TenancyForm
 from tenancy.forms import TenancyFilterForm
 from tenancy.forms import TenancyFilterForm
@@ -268,7 +268,9 @@ class CircuitBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulkEdit
 
 
 class CircuitFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
 class CircuitFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
     model = Circuit
     model = Circuit
-    field_order = ['q', 'type', 'provider', 'status', 'site', 'tenant_group', 'tenant', 'commit_rate']
+    field_order = [
+        'q', 'type', 'provider', 'status', 'region', 'site', 'tenant_group', 'tenant', 'commit_rate',
+    ]
     q = forms.CharField(
     q = forms.CharField(
         required=False,
         required=False,
         label='Search'
         label='Search'
@@ -294,6 +296,15 @@ class CircuitFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm
         required=False,
         required=False,
         widget=StaticSelect2Multiple()
         widget=StaticSelect2Multiple()
     )
     )
+    region = forms.ModelMultipleChoiceField(
+        queryset=Region.objects.all(),
+        to_field_name='slug',
+        required=False,
+        widget=APISelectMultiple(
+            api_url="/api/dcim/regions/",
+            value_field="slug",
+        )
+    )
     site = FilterChoiceField(
     site = FilterChoiceField(
         queryset=Site.objects.all(),
         queryset=Site.objects.all(),
         to_field_name='slug',
         to_field_name='slug',