2
0
Эх сурвалжийг харах

Fixes #3978: VRF filtering for NAT IP search

kobayashi 6 жил өмнө
parent
commit
3c5346f60a

+ 1 - 0
docs/release-notes/version-2.7.md

@@ -5,6 +5,7 @@
 * [#3310](https://github.com/netbox-community/netbox/issues/3310) - Pre-select site/rack for B side when creating a new cable
 * [#3310](https://github.com/netbox-community/netbox/issues/3310) - Pre-select site/rack for B side when creating a new cable
 * [#3338](https://github.com/netbox-community/netbox/issues/3338) - Include circuit terminations in API representation of circuits
 * [#3338](https://github.com/netbox-community/netbox/issues/3338) - Include circuit terminations in API representation of circuits
 * [#3509](https://github.com/netbox-community/netbox/issues/3509) - Add IP address variables for custom scripts
 * [#3509](https://github.com/netbox-community/netbox/issues/3509) - Add IP address variables for custom scripts
+* [#3978](https://github.com/netbox-community/netbox/issues/3978) - Add VRF filtering to search NAT IP
 * [#4005](https://github.com/netbox-community/netbox/issues/4005) - Include timezone context in webhook timestamps
 * [#4005](https://github.com/netbox-community/netbox/issues/4005) - Include timezone context in webhook timestamps
 
 
 ## Bug Fixes
 ## Bug Fixes

+ 11 - 0
netbox/ipam/forms.py

@@ -635,6 +635,17 @@ class IPAddressForm(BootstrapMixin, TenancyForm, ReturnURLForm, CustomFieldForm)
             }
             }
         )
         )
     )
     )
+    nat_vrf = forms.ModelChoiceField(
+        queryset=VRF.objects.all(),
+        required=False,
+        label='VRF',
+        widget=APISelect(
+            api_url="/api/ipam/vrfs/",
+            filter_for={
+                'nat_inside': 'vrf_id'
+            }
+        )
+    )
     nat_inside = ChainedModelChoiceField(
     nat_inside = ChainedModelChoiceField(
         queryset=IPAddress.objects.all(),
         queryset=IPAddress.objects.all(),
         chains=(
         chains=(

+ 1 - 1
netbox/templates/ipam/ipaddress_edit.html

@@ -61,7 +61,7 @@
                     {% render_field form.nat_device %}
                     {% render_field form.nat_device %}
                 </div>
                 </div>
                 <div class="tab-pane" id="search">
                 <div class="tab-pane" id="search">
-                    &nbsp;
+                  {% render_field form.nat_vrf %}
                 </div>
                 </div>
             </div>
             </div>
             {% render_field form.nat_inside %}
             {% render_field form.nat_inside %}